void ProjectConfigUI::setDataForUI(ProjectConfig &projectConfig)
{
    m_projectConfig = projectConfig;

    clearUIDataAndSignal();
    ui->projectDir->setText(projectConfig.getProjectDir().data());
    ui->scriptFileName->setText(projectConfig.getScriptFile().data());
    ui->writablePath->setText(projectConfig.getWritablePath().data());

    int i = 0;
    int currentIndex = -1;
    for (; i < SimulatorConfig::sharedDefaults()->getScreenSizeCount(); i++)
    {
        const SimulatorScreenSize &screenSize = SimulatorConfig::sharedDefaults()->getScreenSize(i);
        ui->screenSizeComboBox->addItem(screenSize.title.data());

        CCSize size = projectConfig.getFrameSize();
        if ((screenSize.width == size.width && screenSize.height == size.height)
                ||(screenSize.width == size.height && screenSize.height == size.width))
        {
            currentIndex = i;
        }
    }

    ui->screenSizeComboBox->addItem(tr("Customized Size"));
    ui->screenSizeComboBox->setCurrentIndex(currentIndex == -1 ? i : currentIndex);

    if (projectConfig.isLandscapeFrame())
        ui->landscapeCheckBox->setChecked(true);
    else
        ui->protratCheckBox->setChecked(true);

    ui->screenWidth->setText(QString::number(projectConfig.getFrameSize().width));
    ui->screenHeight->setText(QString::number(projectConfig.getFrameSize().height));

    ui->showDebugConsole->setChecked(projectConfig.isShowConsole());
    ui->loadPreFramework->setChecked(projectConfig.isLoadPrecompiledFramework());
    ui->logToFile->setChecked(projectConfig.isWriteDebugLogToFile());

    reconnectUISignal();
}