void MainWindow::editPreferences() { PreferencesDialog dlg(this, &m_appSettings); dlg.setModal(true); QObject::connect(&dlg, SIGNAL(preferenceChanged()), m_glModelWidget, SLOT(updateGL())); dlg.exec(); }
void GridPage::setGridColor(const QColor& value) { m_pAppSettings->setValue("GLModelWidget/gridColor", value); emit preferenceChanged(); }
void GridPage::setgridCellSize(int value) { m_pAppSettings->setValue("GLModelWidget/gridCellSize", value); emit preferenceChanged(); }
void VoxelPage::setDrawSmooth(int value) { m_pAppSettings->setValue("GLModelWidget/drawSmoothVoxels", value); emit preferenceChanged(); }
void VoxelPage::setDrawOutlines(int value) { m_pAppSettings->setValue("GLModelWidget/drawVoxelOutlines", value); emit preferenceChanged(); }
void ModelViewPage::setPreviewEnabled(int state) { m_pAppSettings->setValue("GLModelWidget/previewEnabled", state); emit preferenceChanged(); }
void ModelViewPage::setBackgroundColor(const QColor& value) { m_pAppSettings->setValue("GLModelWidget/backgroundColor", value); emit preferenceChanged(); }
void GeneralPage::setFrameOnOpen(int state) { m_pAppSettings->setValue("frameOnOpen", state); emit preferenceChanged(); }
void GeneralPage::setSaveWindowPositions(int state) { m_pAppSettings->setValue("saveUILayout", state); emit preferenceChanged(); }
//////////////////////////////////////////////////////////////////////////////// // Main preferences dialog ///////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// PreferencesDialog::PreferencesDialog(QWidget* parent, QSettings* appSettings) : QDialog(parent), m_pAppSettings(appSettings) { m_pContentsWidget = new QListWidget; m_pContentsWidget->setMovement(QListView::Static); m_pContentsWidget->setSelectionMode(QAbstractItemView::SingleSelection); m_pContentsWidget->setMinimumWidth(128); m_pContentsWidget->setMaximumWidth(128); m_pContentsWidget->setCurrentRow(0); QListWidgetItem* generalItem = new QListWidgetItem(m_pContentsWidget); generalItem->setText(tr("General")); generalItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); QListWidgetItem* modelViewItem = new QListWidgetItem(m_pContentsWidget); modelViewItem->setText(tr("Model View")); modelViewItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); QListWidgetItem* voxelItem = new QListWidgetItem(m_pContentsWidget); voxelItem->setText(tr(" Voxel")); voxelItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); QListWidgetItem* gridItem = new QListWidgetItem(m_pContentsWidget); gridItem->setText(tr(" Grid")); gridItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); QListWidgetItem* lightingItem = new QListWidgetItem(m_pContentsWidget); lightingItem->setText(tr(" Lighting")); lightingItem->setFlags(Qt::ItemIsSelectable); QListWidgetItem* guidesItem = new QListWidgetItem(m_pContentsWidget); guidesItem->setText(tr(" Image Guides")); guidesItem->setFlags(Qt::ItemIsSelectable); QListWidgetItem* paletteItem = new QListWidgetItem(m_pContentsWidget); paletteItem->setText(tr("Palette")); paletteItem->setFlags(Qt::ItemIsSelectable); QListWidgetItem* keysItem = new QListWidgetItem(m_pContentsWidget); keysItem->setText(tr("Custom Keys")); keysItem->setFlags(Qt::ItemIsSelectable); m_pContentsWidget->setCurrentItem(generalItem); connect(m_pContentsWidget, SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)), this, SLOT(changePage(QListWidgetItem*,QListWidgetItem*))); m_pPagesWidget = new QStackedWidget; m_pGeneralPage = new GeneralPage(this, m_pAppSettings); m_pPagesWidget->addWidget(m_pGeneralPage); m_pModelViewPage = new ModelViewPage(this, m_pAppSettings); m_pPagesWidget->addWidget(m_pModelViewPage); m_pVoxelPage = new VoxelPage(this, m_pAppSettings); m_pPagesWidget->addWidget(m_pVoxelPage); m_pGridPage = new GridPage(this, m_pAppSettings); m_pPagesWidget->addWidget(m_pGridPage); m_pLightingPage = new LightingPage(this, m_pAppSettings); m_pPagesWidget->addWidget(m_pLightingPage); m_pGuidesPage = new GuidesPage(this, m_pAppSettings); m_pPagesWidget->addWidget(m_pGuidesPage); m_pPalettePage = new PalettePage(this, m_pAppSettings); m_pPagesWidget->addWidget(m_pPalettePage); m_pWIPPage = new WIPPage(this, m_pAppSettings); m_pPagesWidget->addWidget(m_pWIPPage); QPushButton* cancelButton = new QPushButton(tr("Cancel")); connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject())); QPushButton* okButton = new QPushButton(tr("OK")); connect(okButton, SIGNAL(clicked()), this, SLOT(accept())); QHBoxLayout* horizontalLayout = new QHBoxLayout; horizontalLayout->addWidget(m_pContentsWidget); horizontalLayout->addWidget(m_pPagesWidget, 1); QHBoxLayout* buttonsLayout = new QHBoxLayout; buttonsLayout->addStretch(1); buttonsLayout->addWidget(okButton); buttonsLayout->addWidget(cancelButton); QVBoxLayout* mainLayout = new QVBoxLayout; mainLayout->addLayout(horizontalLayout); mainLayout->addStretch(1); mainLayout->addSpacing(12); mainLayout->addLayout(buttonsLayout); setLayout(mainLayout); setWindowTitle(tr("Sproxel Settings")); resize(QSize(530, 300)); // Daisy chain the signals QObject::connect(m_pGeneralPage, SIGNAL(preferenceChanged()), this, SIGNAL(preferenceChanged())); QObject::connect(m_pModelViewPage, SIGNAL(preferenceChanged()), this, SIGNAL(preferenceChanged())); QObject::connect(m_pVoxelPage, SIGNAL(preferenceChanged()), this, SIGNAL(preferenceChanged())); QObject::connect(m_pGridPage, SIGNAL(preferenceChanged()), this, SIGNAL(preferenceChanged())); }