7
7
#include " startup/zstartup.h"
8
8
#include " zshortcutsettingdlg.h"
9
9
#include < zenoui/comctrl/zlabel.h>
10
+ #include " viewport/displaywidget.h"
11
+ #include < zenovis/DrawOptions.h>
10
12
11
13
// Language Pane
12
14
ZLanguagePane::ZLanguagePane (QWidget* parent)
@@ -133,6 +135,23 @@ ZenoCachePane::ZenoCachePane(QWidget* parent) : QWidget(parent)
133
135
m_pAutoCleanCache->setEnabled (state && !m_pTempCacheDir->isChecked ());
134
136
});
135
137
138
+ m_pViewportSampleNumber = new QSpinBox;
139
+ m_pViewportSampleNumber->setRange (1 , 10000 );
140
+ m_pViewportSampleNumber->setValue (1 );
141
+ {
142
+ auto main = zenoApp->getMainWindow ();
143
+ ZASSERT_EXIT (main);
144
+ for (auto displaywid : main->viewports ()) {
145
+ if (displaywid && !displaywid->isGLViewport ()) {
146
+ if (auto vis = displaywid->getZenoVis ()) {
147
+ if (auto scene = vis->getSession ()->get_scene ()) {
148
+ m_pViewportSampleNumber->setValue (scene->drawOptions ->num_samples );
149
+ }
150
+ }
151
+ }
152
+ }
153
+ }
154
+
136
155
QGridLayout* pLayout = new QGridLayout (this );
137
156
pLayout->addWidget (new QLabel (tr (" Enable cache" )), 0 , 0 );
138
157
pLayout->addWidget (m_pEnableCheckbox, 0 , 1 );
@@ -148,6 +167,8 @@ ZenoCachePane::ZenoCachePane(QWidget* parent) : QWidget(parent)
148
167
pLayout->addWidget (m_pEnableShiftChangeFOV, 5 , 1 );
149
168
pLayout->addWidget (new QLabel (tr (" Viewport Point Size scale" )), 6 , 0 );
150
169
pLayout->addWidget (m_pViewportPointSizeScaleSpinBox, 6 , 1 );
170
+ pLayout->addWidget (new QLabel (tr (" Viewport Sample Number" )), 7 , 0 );
171
+ pLayout->addWidget (m_pViewportSampleNumber, 7 , 1 );
151
172
QSpacerItem* pSpacerItem = new QSpacerItem (10 , 10 , QSizePolicy::Expanding);
152
173
pLayout->addItem (pSpacerItem, 0 , 2 , 5 );
153
174
pLayout->setAlignment (Qt::AlignLeft | Qt::AlignTop);
@@ -163,6 +184,13 @@ void ZenoCachePane::saveValue()
163
184
inst.setValue (zsCacheAutoClean, m_pAutoCleanCache->checkState () == Qt::Checked);
164
185
inst.setValue (zsEnableShiftChangeFOV, m_pEnableShiftChangeFOV->checkState () == Qt::Checked);
165
186
inst.setValue (zsViewportPointSizeScale, m_pViewportPointSizeScaleSpinBox->value ());
187
+ auto main = zenoApp->getMainWindow ();
188
+ ZASSERT_EXIT (main);
189
+ for (auto displaywid : main->viewports ()) {
190
+ if (displaywid) {
191
+ displaywid->setSampleNumber (m_pViewportSampleNumber->value ());
192
+ }
193
+ }
166
194
}
167
195
168
196
// layout pane
0 commit comments