Ejemplo n.º 1
0
//Application settings
void MainWindow::on_actionApplication_settings_triggered()
{
    AppSettings * appSettings = new AppSettings;
    appSettings->setWindowFlags (Qt::Window | Qt::WindowTitleHint | Qt::WindowCloseButtonHint);
    appSettings->setGeometry(QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, appSettings->size(), qApp->desktop()->availableGeometry()));

    appSettings->autoPlayMusic = GlobalSettings::autoPlayMusic;
    appSettings->Animation = GlobalSettings::LvlOpts.animationEnabled;
    appSettings->Collisions = GlobalSettings::LvlOpts.collisionsEnabled;

    appSettings->AnimationItemLimit = GlobalSettings::animatorItemsLimit;

    appSettings->MainWindowView = GlobalSettings::MainWindowView;
    appSettings->LVLToolboxPos = GlobalSettings::LVLToolboxPos;
    appSettings->WLDToolboxPos = GlobalSettings::WLDToolboxPos;
    appSettings->TSTToolboxPos = GlobalSettings::TSTToolboxPos;

    appSettings->midmouse_allowDupe = GlobalSettings::MidMouse_allowDuplicate;
    appSettings->midmouse_allowPlace = GlobalSettings::MidMouse_allowSwitchToPlace;
    appSettings->midmouse_allowDragMode = GlobalSettings::MidMouse_allowSwitchToDrag;

    appSettings->placing_dont_show_props_box = GlobalSettings::Placing_dontShowPropertiesBox;

    appSettings->selectedTheme = GlobalSettings::currentTheme;

    appSettings->applySettings();

    if(appSettings->exec()==QDialog::Accepted)
    {
        GlobalSettings::autoPlayMusic = appSettings->autoPlayMusic;
        GlobalSettings::animatorItemsLimit = appSettings->AnimationItemLimit;
        GlobalSettings::LvlOpts.animationEnabled = appSettings->Animation;
        GlobalSettings::LvlOpts.collisionsEnabled = appSettings->Collisions;

        ui->actionAnimation->setChecked(GlobalSettings::LvlOpts.animationEnabled);
        on_actionAnimation_triggered(GlobalSettings::LvlOpts.animationEnabled);
        ui->actionCollisions->setChecked(GlobalSettings::LvlOpts.collisionsEnabled);
        on_actionCollisions_triggered(GlobalSettings::LvlOpts.collisionsEnabled);

        GlobalSettings::MainWindowView = appSettings->MainWindowView;
        GlobalSettings::LVLToolboxPos = appSettings->LVLToolboxPos;
        GlobalSettings::WLDToolboxPos = appSettings->WLDToolboxPos;
        GlobalSettings::TSTToolboxPos = appSettings->TSTToolboxPos;
        GlobalSettings::currentTheme = appSettings->selectedTheme;

        GlobalSettings::MidMouse_allowDuplicate = appSettings->midmouse_allowDupe;
        GlobalSettings::MidMouse_allowSwitchToPlace = appSettings->midmouse_allowPlace;
        GlobalSettings::MidMouse_allowSwitchToDrag = appSettings->midmouse_allowDragMode;

        GlobalSettings::Placing_dontShowPropertiesBox = appSettings->placing_dont_show_props_box;

        ui->centralWidget->setViewMode(GlobalSettings::MainWindowView);
        ui->LevelToolBoxTabs->setTabPosition(GlobalSettings::LVLToolboxPos);
        ui->WorldToolBoxTabs->setTabPosition(GlobalSettings::WLDToolboxPos);
        ui->TileSetsCategories->setTabPosition(GlobalSettings::TSTToolboxPos);


        applyTheme(GlobalSettings::currentTheme.isEmpty() ?
                       ( Themes::currentTheme().isEmpty() ? ConfStatus::defaultTheme : Themes::currentTheme() )
                     : GlobalSettings::currentTheme);

        saveSettings();
    }
    delete appSettings;

}