diff --git a/src/calculateconfig.cpp b/src/calculateconfig.cpp index 83161dd..6ec1ad6 100644 --- a/src/calculateconfig.cpp +++ b/src/calculateconfig.cpp @@ -326,6 +326,10 @@ QStringList CalculateConfig::getInstallParameters() { QStringList params; + // builder + if ( m_Config["gui_os_install_builder"].toString() == "on" ) + params << "--build"; + // disks if ( m_Config["--disk"].toStringList().count() > 0 ) { diff --git a/src/commons.h b/src/commons.h index 027a665..412749d 100644 --- a/src/commons.h +++ b/src/commons.h @@ -24,13 +24,3 @@ struct MountPoint { MountPoint() : /*bind(false),*/ format(false) {}; }; - -template -class InitializableMap: public QMap -{ -public: - InitializableMap& operator<< (const QPair& t) - { - insert(t.first, t.second); return *this; - } -}; diff --git a/src/pageconfiguration.cpp b/src/pageconfiguration.cpp index a7682ab..d3a8a3d 100644 --- a/src/pageconfiguration.cpp +++ b/src/pageconfiguration.cpp @@ -10,36 +10,12 @@ #include #include #include +#include #include #include "calculateconfig.h" - -#include - -InitializableMap PageConfiguration::m_langMap = - InitializableMap() - << QPair( "be_BY", QObject::tr("Belarusian") ) - << QPair( "bg_BG", QObject::tr("Bulgarian") ) - << QPair( "da_DK", QObject::tr("Danish") ) - << QPair( "en_GB", QObject::tr("English [en_GB]") ) - << QPair( "en_US", QObject::tr("English [en_US]") ) - << QPair( "fr_BE", QObject::tr("French [fr_BE]") ) - << QPair( "fr_CA", QObject::tr("French [fr_CA]") ) - << QPair( "fr_FR", QObject::tr("French [fr_FR]") ) - << QPair( "de_DE", QObject::tr("German") ) - << QPair( "is_IS", QObject::tr("Icelandic") ) - << QPair( "it_IT", QObject::tr("Italian") ) - << QPair( "pl_PL", QObject::tr("Polish") ) - << QPair( "pt_BR", QObject::tr("Portuguese") ) - << QPair( "ru_RU", QObject::tr("Russian") ) - << QPair( "sv_SE", QObject::tr("Swedish") ) - << QPair( "es_ES", QObject::tr("Spanish") ) - << QPair( "nn_NO", QObject::tr("Norwegian Nynorsk") ) - << QPair( "uk_UA", QObject::tr("Ukrainian") ) -; - PageConfiguration::PageConfiguration() : InstallerPage() { @@ -105,7 +81,6 @@ void PageConfiguration::setupUi() m_labelComposite = new QLabel; m_chkboxComposite = new QCheckBox; m_chkboxComposite->setLayoutDirection( Qt::RightToLeft ); - m_chkboxComposite->setChecked(true); hbox_composite->addWidget(m_labelComposite); hbox_composite->addWidget(m_chkboxComposite); @@ -115,6 +90,14 @@ void PageConfiguration::setupUi() QVBoxLayout* vbox_extparam = new QVBoxLayout; + // builder + QHBoxLayout* hbox_builder = new QHBoxLayout; + m_labelBuilder = new QLabel; + m_chkboxBuilder = new QCheckBox; + m_chkboxComposite->setLayoutDirection( Qt::RightToLeft ); + hbox_builder->addWidget(m_labelBuilder); + hbox_builder->addWidget(m_chkboxBuilder); + // makeopts QHBoxLayout* hbox_makeopts = new QHBoxLayout; m_labelMakeOpts = new QLabel; @@ -148,6 +131,7 @@ void PageConfiguration::setupUi() hbox_clockt->addWidget(m_labelClockType); hbox_clockt->addWidget(m_cmbboxClockType); + vbox_extparam->addLayout(hbox_builder); vbox_extparam->addLayout(hbox_makeopts); vbox_extparam->addLayout(hbox_proxy); vbox_extparam->addLayout(hbox_ntp); @@ -209,6 +193,7 @@ void PageConfiguration::mapSignals() connect(m_cmbboxMbrDevice, SIGNAL(currentIndexChanged(int)), this, SLOT( updateData())); connect(m_cmbboxVideoDrv, SIGNAL(currentIndexChanged(int)), this, SLOT( updateData())); connect(m_chkboxComposite, SIGNAL(toggled(bool)), this, SLOT( updateData())); + connect(m_chkboxBuilder, SIGNAL(toggled(bool)), this, SLOT( updateData())); connect(m_editMakeOpts, SIGNAL(textChanged(QString)), this, SLOT( updateData())); connect(m_editProxy, SIGNAL(textChanged(QString)), this, SLOT( updateData())); connect(m_editNtp, SIGNAL(textChanged(QString)), this, SLOT( updateData())); @@ -225,7 +210,12 @@ void PageConfiguration::unmapSignals() disconnect(m_cmbboxMbrDevice); disconnect(m_cmbboxVideoDrv); disconnect(m_chkboxComposite); + disconnect(m_chkboxBuilder); disconnect(m_editMakeOpts); + disconnect(m_editProxy); + disconnect(m_editNtp); + disconnect(m_cmbboxClockType); + disconnect(m_chkboxExtParameters); } void PageConfiguration::retranslateUi() @@ -238,6 +228,27 @@ void PageConfiguration::retranslateUi() m_labelDomainName->setText( tr("Domain: ") ); + // lang + m_langMap.clear(); + m_langMap["be_BY"] = tr("Belarusian"); + m_langMap["bg_BG"] = tr("Bulgarian"); + m_langMap["da_DK"] = tr("Danish"); + m_langMap["en_GB"] = tr("English [en_GB]"); + m_langMap["en_US"] = tr("English [en_US]"); + m_langMap["fr_BE"] = tr("French [fr_BE]"); + m_langMap["fr_CA"] = tr("French [fr_CA]"); + m_langMap["fr_FR"] = tr("French [fr_FR]"); + m_langMap["de_DE"] = tr("German"); + m_langMap["is_IS"] = tr("Icelandic"); + m_langMap["it_IT"] = tr("Italian"); + m_langMap["pl_PL"] = tr("Polish"); + m_langMap["pt_BR"] = tr("Portuguese"); + m_langMap["ru_RU"] = tr("Russian"); + m_langMap["sv_SE"] = tr("Swedish"); + m_langMap["es_ES"] = tr("Spanish"); + m_langMap["nn_NO"] = tr("Norwegian Nynorsk"); + m_langMap["uk_UA"] = tr("Ukrainian"); + m_labelLanguage->setText( tr("Language:") ); m_cmbboxLanguage->clear(); foreach(QString lang, CalculateConfig::instance()->getValue("os_install_lang").toStringList() ) @@ -270,6 +281,8 @@ void PageConfiguration::retranslateUi() m_chkboxExtParameters->setText( tr("Expert settings") ); + m_labelBuilder->setText( tr("Installation for assembling") ); + m_labelMakeOpts->setText( tr("Make options (MAKEOPTS):") ); m_labelProxy->setText( tr("Proxy server:") ); @@ -331,6 +344,10 @@ void PageConfiguration::show() clConf->getValue("gui_os_install_x11_composite").toString() == "on" ); + m_chkboxBuilder->setChecked( + clConf->getValue("gui_os_install_builder").toString() == "on" + ); + m_editMakeOpts->setText( clConf->getValue("gui_os_install_makeopts").toString() ); m_editProxy->setText( clConf->getValue("gui_os_install_proxy").toString() ); @@ -359,6 +376,7 @@ void PageConfiguration::updateData() clConf->setValue("gui_os_install_x11_composite", m_chkboxComposite->isChecked() ? "on" : "off" ); clConf->setValue("gui_expert_mode", m_chkboxExtParameters->isChecked() ? "on" : "off" ); + clConf->setValue("gui_os_install_builder", m_chkboxBuilder->isChecked() ? "on" : "off" ); clConf->setValue("gui_os_install_makeopts", m_editMakeOpts->text() ); clConf->setValue("gui_os_install_proxy", m_editProxy->text() ); clConf->setValue("gui_os_install_ntp", m_editNtp->text() ); diff --git a/src/pageconfiguration.h b/src/pageconfiguration.h index af6baa7..59c0947 100644 --- a/src/pageconfiguration.h +++ b/src/pageconfiguration.h @@ -60,6 +60,9 @@ private: QCheckBox* m_chkboxExtParameters; QWidget* m_widgetExtParameters; + QLabel* m_labelBuilder; + QCheckBox* m_chkboxBuilder; + QLabel* m_labelMakeOpts; QLineEdit* m_editMakeOpts; @@ -72,6 +75,6 @@ private: QLabel* m_labelClockType; QComboBox* m_cmbboxClockType; - static InitializableMap m_langMap; + QMap m_langMap; }; diff --git a/src/systeminstaller.cpp b/src/systeminstaller.cpp index 334b638..1bb49f6 100644 --- a/src/systeminstaller.cpp +++ b/src/systeminstaller.cpp @@ -131,13 +131,8 @@ void SystemInstaller::setupUi() QIcon icon( ":/img/calculate-icon.png" ); setWindowIcon(icon); - // minimum size for window TODO: remove magic numbers, add other sizes? - //setMinimumSize(800, 600); - //setMaximumSize(800, 600); - setMinimumSize(800, 600); - setMaximumSize(800, 600); - QRect scr = QApplication::desktop()->screenGeometry(); - move( scr.width() - scr.width()/2 - 800/2, scr.height() - scr.height()/2 - 600/2 ); + // set window size + selectWindowSize(); QImage logo = QImage(":/img/calculate-logo.png").scaledToWidth( 120, Qt::SmoothTransformation); m_labelImage->setPixmap( QPixmap::fromImage(logo) ); @@ -240,8 +235,9 @@ void SystemInstaller::changeLanguage(QString lang) // save global config for locale CalculateConfig::instance()->setValue( "gui_locale_language", QVariant(lang) ); + // My translator QTranslator* translator( new QTranslator ); - translator->load("/usr/share/cl-install-gui/cl-install-gui_" + lang); + translator->load("cl-install-gui_" + lang, "/usr/share/cl-install-gui/"); setTranslator(translator); } @@ -264,8 +260,15 @@ void SystemInstaller::closeEvent ( QCloseEvent* event ) if (m_doFinish) event->accept(); - if ( QMessageBox::question(this, tr("Attention"), tr("Do you want to abort the installation now?"), - QMessageBox::Yes | QMessageBox::No ) == QMessageBox::Yes ) + QMessageBox quest; + quest.setWindowTitle( tr("Attention") ); + quest.setText( tr("Do you want to abort the installation now?") ); + quest.setStandardButtons( QMessageBox::Yes | QMessageBox::No ); + quest.setIcon( QMessageBox::Question ); + quest.button(QMessageBox::Yes)->setText( tr("Yes") ); + quest.button(QMessageBox::No)->setText( tr("No") ); + + if ( quest.exec() == QMessageBox::Yes ) { qDebug() << "Canceled by user."; event->accept(); @@ -359,4 +362,38 @@ void SystemInstaller::finishInstall() close(); } +void SystemInstaller::selectWindowSize() +{ + // 800x600, 1024x600, 1024x768 1280x720 1280x1024 1600x1200 > + QRect scr = QApplication::desktop()->screenGeometry(); + + int w; + int h; + + // select optimal size + if (scr.height() <= 600) + { + qDebug() << "Select size 800x500"; + w = 800; + h = 500; + } + else if (scr.height() <= 800) + { + qDebug() << "Select size 1000x600"; + w = 1000; + h = 600; + } + else // > 800 + { + qDebug() << "Select size 1200x800"; + w = 1200; + h = 800; + } + + // minimum size for window + setMinimumSize(w, h); + setMaximumSize(w, h); + move( scr.width() - scr.width()/2 - w/2, scr.height() - scr.height()/2 - h/2 ); +} + diff --git a/src/systeminstaller.h b/src/systeminstaller.h index 0078b51..a48a9e4 100644 --- a/src/systeminstaller.h +++ b/src/systeminstaller.h @@ -32,6 +32,8 @@ private: void setupUi(); void retranslateUi(); + void selectWindowSize(); + void setupInstallerPages(); void setTranslator(QTranslator* translator); diff --git a/translations/cl-install-gui_bg.ts b/translations/cl-install-gui_bg.ts index f701085..03d634b 100644 --- a/translations/cl-install-gui_bg.ts +++ b/translations/cl-install-gui_bg.ts @@ -113,6 +113,82 @@ Hostname is empty. Име на хост не трябва да е празно. + + Belarusian + Беларус + + + Bulgarian + България + + + Danish + Дания + + + English [en_GB] + Англия [en_GB] + + + English [en_US] + Англия [en_US] + + + French [fr_BE] + Франция [fr_BE] + + + French [fr_CA] + Франция [fr_CA] + + + French [fr_FR] + Франция [fr_FR] + + + German + Германия + + + Icelandic + Исландия + + + Italian + Италия + + + Polish + Полша + + + Portuguese + Португалия + + + Russian + Русия + + + Swedish + Швеция + + + Spanish + Испания + + + Norwegian Nynorsk + Норвегия + + + Ukrainian + Украйна + + + Installation for assembling + + PageFinish @@ -135,6 +211,10 @@ Error. Additional information in /var/log/calculate/cl-install-gui-err.log Грешка. Информацията е съхранена в файла /var/log/calculate/cl-install.gui-err.log + + Users parsing error + + PageLicense @@ -213,6 +293,10 @@ YES ДА + + Duplicate mount point %1 + + PagePartitioning @@ -346,75 +430,75 @@ For modifying user - double click it. Belarusian - Беларус + Беларус Bulgarian - България + България Danish - Дания + Дания English [en_GB] - Англия [en_GB] + Англия [en_GB] English [en_US] - Англия [en_US] + Англия [en_US] French [fr_BE] - Франция [fr_BE] + Франция [fr_BE] French [fr_CA] - Франция [fr_CA] + Франция [fr_CA] French [fr_FR] - Франция [fr_FR] + Франция [fr_FR] German - Германия + Германия Icelandic - Исландия + Исландия Italian - Италия + Италия Polish - Полша + Полша Portuguese - Португалия + Португалия Russian - Русия + Русия Swedish - Швеция + Швеция Spanish - Испания + Испания Norwegian Nynorsk - Норвегия + Норвегия Ukrainian - Украйна + Украйна @@ -465,6 +549,18 @@ For modifying user - double click it. <b>calculate-install-gui</b><br>GUI-frontend for cl-install<br><br><br>Developer:<br>&nbsp;&nbsp;&nbsp;&nbsp;Ivan Loskutov aka vanner<br><br>Translators:<br>&nbsp;&nbsp;&nbsp;&nbsp;Rosen Alexandrov aka ROKO__<br>&nbsp;&nbsp;&nbsp;&nbsp;Vados<br> <b>calculate-install-gui</b><br>Графичен интерфейс за програмата cl-install<br><br><br>Разработчици:<br>&nbsp;&nbsp;&nbsp;&nbsp;Иван Лоскутов aka vanner<br><br>Преводачи:<br>&nbsp;&nbsp;&nbsp;&nbsp;Росен Александров aka ROKO__<br>&nbsp;&nbsp;&nbsp;&nbsp;Vados<br> + + Calculate Linux installer + + + + Yes + Да + + + No + Не + UserInfoDialog diff --git a/translations/cl-install-gui_ru.ts b/translations/cl-install-gui_ru.ts index d7c78d5..4044529 100644 --- a/translations/cl-install-gui_ru.ts +++ b/translations/cl-install-gui_ru.ts @@ -113,6 +113,82 @@ Hostname is empty. Имя хоста не должно быть пустым. + + Belarusian + Беларусский + + + Bulgarian + Болгарский + + + Danish + Датский + + + English [en_GB] + Английский [en_GB] + + + English [en_US] + Английский [en_US] + + + French [fr_BE] + Французский [fr_BE] + + + French [fr_CA] + Французский [fr_CA] + + + French [fr_FR] + Французский [fr_FR] + + + German + Немецкий + + + Icelandic + Исландский + + + Italian + Итальянский + + + Polish + Польский + + + Portuguese + Португальский + + + Russian + Русский + + + Swedish + Шведский + + + Spanish + Испанский + + + Norwegian Nynorsk + Норвежский + + + Ukrainian + Украинский + + + Installation for assembling + Установка для сборки + PageFinish @@ -135,6 +211,10 @@ Error. Additional information in /var/log/calculate/cl-install-gui-err.log Ошибка. Дополнительная информация сохранена в файле /var/log/calculate/cl-install-gui-err.log + + Users parsing error + + PageLicense @@ -213,6 +293,10 @@ YES ДА + + Duplicate mount point %1 + Точка монтирования %1 объявлена больше раза + PagePartitioning @@ -345,75 +429,75 @@ For modifying user - double click it. Belarusian - Беларусский + Беларусский Bulgarian - Болгарский + Болгарский Danish - Датский + Датский English [en_GB] - Английский [en_GB] + Английский [en_GB] English [en_US] - Английский [en_US] + Английский [en_US] French [fr_BE] - Французский [fr_BE] + Французский [fr_BE] French [fr_CA] - Французский [fr_CA] + Французский [fr_CA] French [fr_FR] - Французский [fr_FR] + Французский [fr_FR] German - Немецкий + Немецкий Icelandic - Исландский + Исландский Italian - Итальянский + Итальянский Polish - Польский + Польский Portuguese - Португальский + Португальский Russian - Русский + Русский Swedish - Шведский + Шведский Spanish - Испанский + Испанский Norwegian Nynorsk - Норвежский + Норвежский Ukrainian - Украинский + Украинский @@ -452,7 +536,7 @@ For modifying user - double click it. Do you want to abort the installation now? - Вы хотите прервать иснталяцию? + Вы хотите прервать установку? About cl-install-gui @@ -462,6 +546,18 @@ For modifying user - double click it. <b>calculate-install-gui</b><br>GUI-frontend for cl-install<br><br><br>Developer:<br>&nbsp;&nbsp;&nbsp;&nbsp;Ivan Loskutov aka vanner<br><br>Translators:<br>&nbsp;&nbsp;&nbsp;&nbsp;Rosen Alexandrov aka ROKO__<br>&nbsp;&nbsp;&nbsp;&nbsp;Vados<br> <b>calculate-install-gui</b><br>Графический фронтэнд для программы cl-install<br><br><br>Разработчик:<br>&nbsp;&nbsp;&nbsp;&nbsp;Иван Лоскутов aka vanner<br><br>Переводчики:<br>&nbsp;&nbsp;&nbsp;&nbsp;Росен Александров aka ROKO__<br>&nbsp;&nbsp;&nbsp;&nbsp;Vados<br> + + Calculate Linux installer + Программа для утсановки Calculate Linux + + + Yes + Да + + + No + Нет + UserInfoDialog diff --git a/translations/cl-install-gui_uk.ts b/translations/cl-install-gui_uk.ts index cd6a424..892b467 100644 --- a/translations/cl-install-gui_uk.ts +++ b/translations/cl-install-gui_uk.ts @@ -137,6 +137,82 @@ Имя хоста не должно быть пустым. Ім'я хоста не повинно бути порожнім. + + Belarusian + Білоруська + + + Bulgarian + Болгарська + + + Danish + Датська + + + English [en_GB] + Англійська [en_GB] + + + English [en_US] + Англійська [en_US] + + + French [fr_BE] + Французька [fr_BE] + + + French [fr_CA] + Французька [fr_CA] + + + French [fr_FR] + Французька [fr_FR] + + + German + Німецька + + + Icelandic + Iсландська + + + Italian + Iталійська + + + Polish + Польська + + + Portuguese + Португальська + + + Russian + Російська + + + Swedish + Шведська + + + Spanish + Iспанська + + + Norwegian Nynorsk + Норвезька нюнорськ + + + Ukrainian + Українська + + + Installation for assembling + + PageFinish @@ -163,6 +239,10 @@ Ошибка. Дополнительная информация сохранена в файле /var/log/calculate/cl-install-gui-err.log Помилка. Додаткова інформація збережена у файлі / var / log / calculate / cl-install-gui-err.log + + Users parsing error + + PageLicense @@ -257,6 +337,10 @@ ДА ТАК + + Duplicate mount point %1 + + PagePartitioning @@ -415,75 +499,75 @@ For modifying user - double click it. Belarusian - Білоруська + Білоруська Bulgarian - Болгарська + Болгарська Danish - Датська + Датська English [en_GB] - Англійська [en_GB] + Англійська [en_GB] English [en_US] - Англійська [en_US] + Англійська [en_US] French [fr_BE] - Французька [fr_BE] + Французька [fr_BE] French [fr_CA] - Французька [fr_CA] + Французька [fr_CA] French [fr_FR] - Французька [fr_FR] + Французька [fr_FR] German - Німецька + Німецька Icelandic - Iсландська + Iсландська Italian - Iталійська + Iталійська Polish - Польська + Польська Portuguese - Португальська + Португальська Russian - Російська + Російська Swedish - Шведська + Шведська Spanish - Iспанська + Iспанська Norwegian Nynorsk - Норвезька нюнорськ + Норвезька нюнорськ Ukrainian - Українська + Українська @@ -530,7 +614,6 @@ For modifying user - double click it. Do you want to abort the installation now? - Вы хотите прервать иснталяцию? Ви хочете перервати існталяцію? @@ -543,6 +626,18 @@ For modifying user - double click it. <b>calculate-install-gui</b><br>Графический фронтэнд для программы cl-install<br><br><br>Разработчик:<br>&nbsp;&nbsp;&nbsp;&nbsp;Иван Лоскутов aka vanner<br><br>Переводчики:<br>&nbsp;&nbsp;&nbsp;&nbsp;Росен Александров aka ROKO__<br>&nbsp;&nbsp;&nbsp;&nbsp;Vados<br> <b>calculate-install-gui</b><br>Графычний фронтенд для програми cl-install<br><br><br> Розробник:<br>&nbsp;&nbsp;&nbsp;&nbsp;Иван Лоскутов aka vanner<br><br>Перекладачі:<br>&nbsp;&nbsp;&nbsp;&nbsp;Росен Александров aka ROKO__<br>&nbsp;&nbsp;&nbsp;&nbsp;Vados<br> + + Calculate Linux installer + + + + Yes + Так + + + No + Нi + UserInfoDialog