--Bug fixes

-Allow group dragging and floating of dock widgets.
 --Note this has a bug where if tabls are grouped while floating, the tab position is placed on the bottom. It restores to the top when dropping on a dock location. I've filed a bug at qt.io
 -Make some tables auto size to their contents because some text appeared obscured on Linux.
 -The size of the xforms and palette tabs were preventing the main window from being resized to a small size on lower resolution monitors when docked. So rework scroll areas, minimum sizes and layouts to allow for a smaller main window.
This commit is contained in:
Person 2017-12-15 21:05:58 -08:00
parent 5646b5162a
commit 244d2f5dc2
6 changed files with 2028 additions and 1952 deletions

1
.gitignore vendored
View File

@ -253,3 +253,4 @@ Builds/include/GL
/Builds/MSVC/VS2017/UpgradeLog.htm
/Builds/MSVC/VS2017/zlib.props
*last.flame
/Source/Fractorium/Fractorium - Copy.ui

View File

@ -73,6 +73,8 @@ FractoriumFinalRenderDialog::FractoriumFinalRenderDialog(QWidget* p, Qt::WindowF
ui.FinalRenderStartButton->disconnect(SIGNAL(clicked(bool)));
connect(ui.FinalRenderStartButton, SIGNAL(clicked(bool)), this, SLOT(OnRenderClicked(bool)), Qt::QueuedConnection);
connect(ui.FinalRenderStopButton, SIGNAL(clicked(bool)), this, SLOT(OnCancelRenderClicked(bool)), Qt::QueuedConnection);
table->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
ui.FinalRenderSizeTable->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
table = ui.FinalRenderDeviceTable;
table->clearContents();
table->setRowCount(0);

View File

@ -28,14 +28,13 @@ Fractorium::Fractorium(QWidget* p)
qRegisterMetaType<vector<byte>>("vector<byte>");
qRegisterMetaType<vv4F>("vv4F");
qRegisterMetaType<EmberTreeWidgetItemBase*>("EmberTreeWidgetItemBase*");
setDockOptions(DockOption::AllowNestedDocks | DockOption::AllowTabbedDocks);
setTabPosition(Qt::AllDockWidgetAreas, QTabWidget::TabPosition::North);
setTabShape(QTabWidget::TabShape::Triangular);
tabifyDockWidget(ui.LibraryDockWidget, ui.FlameDockWidget);
tabifyDockWidget(ui.FlameDockWidget, ui.XformsDockWidget);
tabifyDockWidget(ui.XformsDockWidget, ui.XaosDockWidget);
tabifyDockWidget(ui.XaosDockWidget, ui.PaletteDockWidget);
tabifyDockWidget(ui.PaletteDockWidget, ui.InfoDockWidget);
setTabPosition(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea, QTabWidget::TabPosition::North);
setTabShape(QTabWidget::TabShape::Triangular);
m_Docks.reserve(8);
m_Docks.push_back(ui.LibraryDockWidget);
m_Docks.push_back(ui.FlameDockWidget);
@ -43,6 +42,13 @@ Fractorium::Fractorium(QWidget* p)
m_Docks.push_back(ui.XaosDockWidget);
m_Docks.push_back(ui.PaletteDockWidget);
m_Docks.push_back(ui.InfoDockWidget);
for (auto dock : m_Docks)//Prevents a dock from ever getting accidentally hidden.
{
dock->setWindowFlags(dock->windowFlags() & Qt::WindowStaysOnTopHint);
dock->setAllowedAreas(Qt::DockWidgetArea::LeftDockWidgetArea | Qt::DockWidgetArea::RightDockWidgetArea);
}
m_FontSize = 9;
m_VarSortMode = 1;//Sort by weight by default.
m_PaletteSortMode = 0;//Sort by palette ascending by default.
@ -286,6 +292,7 @@ bool Fractorium::HaveFinal()
/// <param name="topLevel">True if top level, else false.</param>
void Fractorium::OnDockTopLevelChanged(bool topLevel)
{
//setTabPosition(Qt::AllDockWidgetAreas, QTabWidget::TabPosition::North);
//if (topLevel)
//{
// if (ui.DockWidget->y() <= 0)
@ -306,6 +313,7 @@ void Fractorium::OnDockTopLevelChanged(bool topLevel)
/// <param name="area">The dock widget area</param>
void Fractorium::dockLocationChanged(Qt::DockWidgetArea area)
{
//setTabPosition(Qt::AllDockWidgetAreas, QTabWidget::TabPosition::North);
//ui.DockWidget->resize(500, ui.DockWidget->height());
//ui.DockWidget->update();
//ui.dockWidget->setFloating(true);

View File

@ -41,6 +41,9 @@
<height>16</height>
</size>
</property>
<property name="dockOptions">
<set>QMainWindow::AllowNestedDocks|QMainWindow::AllowTabbedDocks|QMainWindow::AnimatedDocks|QMainWindow::GroupedDragging</set>
</property>
<widget class="QScrollArea" name="GLParentScrollArea">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
@ -112,7 +115,7 @@
</size>
</property>
<property name="floating">
<bool>true</bool>
<bool>false</bool>
</property>
<property name="features">
<set>QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetMovable</set>
@ -258,7 +261,7 @@
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>110</number>
<number>145</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
@ -834,7 +837,7 @@
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>110</number>
<number>120</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
@ -1166,7 +1169,7 @@
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>125</number>
<number>145</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
@ -1375,7 +1378,7 @@
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>110</number>
<number>120</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
@ -1696,7 +1699,7 @@
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>125</number>
<number>145</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
@ -1814,6 +1817,9 @@
<height>200</height>
</size>
</property>
<property name="floating">
<bool>false</bool>
</property>
<property name="features">
<set>QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetMovable</set>
</property>
@ -2008,15 +2014,18 @@
<x>770</x>
<y>0</y>
<width>295</width>
<height>881</height>
<height>700</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>295</width>
<height>624</height>
<height>200</height>
</size>
</property>
<property name="floating">
<bool>false</bool>
</property>
<property name="features">
<set>QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetMovable</set>
</property>
@ -2027,12 +2036,12 @@
<string>Palette</string>
</property>
<widget class="QWidget" name="PaletteDockWidgetContents">
<layout class="QGridLayout" name="gridLayout_3">
<layout class="QVBoxLayout" name="verticalLayout_11">
<property name="leftMargin">
<number>5</number>
</property>
<property name="topMargin">
<number>5</number>
<number>4</number>
</property>
<property name="rightMargin">
<number>5</number>
@ -2040,99 +2049,33 @@
<property name="bottomMargin">
<number>4</number>
</property>
<item row="6" column="0">
<widget class="TableWidget" name="PalettePreviewTable">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>21</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>21</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<item>
<widget class="QScrollArea" name="PaletteDockScrollArea">
<property name="frameShape">
<enum>QFrame::Panel</enum>
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="autoScroll">
<bool>false</bool>
</property>
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::NoSelection</enum>
</property>
<property name="verticalScrollMode">
<enum>QAbstractItemView::ScrollPerPixel</enum>
</property>
<property name="horizontalScrollMode">
<enum>QAbstractItemView::ScrollPerPixel</enum>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
<property name="cornerButtonEnabled">
<bool>false</bool>
</property>
<property name="rowCount">
<number>1</number>
</property>
<property name="columnCount">
<number>2</number>
</property>
<attribute name="horizontalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>27</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<property name="widgetResizable">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>20</number>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>20</number>
</attribute>
<row/>
<column/>
<column/>
</widget>
</item>
<item row="7" column="0">
<layout class="QHBoxLayout" name="PaletteTabHLayout2" stretch="0,0">
<property name="spacing">
<number>5</number>
</property>
<property name="sizeConstraint">
<enum>QLayout::SetDefaultConstraint</enum>
<widget class="QWidget" name="PaletteDockScrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>285</width>
<height>673</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<property name="leftMargin">
<number>0</number>
</property>
@ -2142,111 +2085,12 @@
<property name="rightMargin">
<number>0</number>
</property>
<item>
<widget class="QLineEdit" name="PaletteFilterLineEdit">
<property name="frame">
<bool>true</bool>
<property name="bottomMargin">
<number>0</number>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="PaletteFilterClearButton">
<property name="minimumSize">
<size>
<width>30</width>
<height>0</height>
</size>
<property name="horizontalSpacing">
<number>0</number>
</property>
<property name="maximumSize">
<size>
<width>30</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>X</string>
</property>
<property name="flat">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item row="8" column="0">
<widget class="QTableWidget" name="PaletteListTable">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="frameShape">
<enum>QFrame::Panel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAsNeeded</enum>
</property>
<property name="autoScroll">
<bool>false</bool>
</property>
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="tabKeyNavigation">
<bool>false</bool>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::NoSelection</enum>
</property>
<property name="horizontalScrollMode">
<enum>QAbstractItemView::ScrollPerPixel</enum>
</property>
<property name="cornerButtonEnabled">
<bool>false</bool>
</property>
<property name="columnCount">
<number>2</number>
</property>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>16</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>16</number>
</attribute>
<attribute name="verticalHeaderStretchLastSection">
<bool>false</bool>
</attribute>
<column>
<property name="text">
<string>Name</string>
</property>
<property name="textAlignment">
<set>AlignLeading|AlignVCenter</set>
</property>
</column>
<column>
<property name="text">
<string>Palette</string>
</property>
<property name="textAlignment">
<set>AlignLeading|AlignVCenter</set>
</property>
</column>
</widget>
</item>
<item row="0" column="0">
<widget class="QComboBox" name="PaletteFilenameCombo">
<property name="sizePolicy">
@ -2490,7 +2334,220 @@
</item>
</layout>
</item>
<item row="9" column="0">
<item row="3" column="0">
<widget class="TableWidget" name="PalettePreviewTable">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>21</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>21</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="frameShape">
<enum>QFrame::Panel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="autoScroll">
<bool>false</bool>
</property>
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::NoSelection</enum>
</property>
<property name="verticalScrollMode">
<enum>QAbstractItemView::ScrollPerPixel</enum>
</property>
<property name="horizontalScrollMode">
<enum>QAbstractItemView::ScrollPerPixel</enum>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
<property name="cornerButtonEnabled">
<bool>false</bool>
</property>
<property name="rowCount">
<number>1</number>
</property>
<property name="columnCount">
<number>2</number>
</property>
<attribute name="horizontalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>27</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>20</number>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>20</number>
</attribute>
<row/>
<column/>
<column/>
</widget>
</item>
<item row="4" column="0">
<layout class="QHBoxLayout" name="PaletteTabHLayout2" stretch="0,0">
<property name="spacing">
<number>5</number>
</property>
<property name="sizeConstraint">
<enum>QLayout::SetDefaultConstraint</enum>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<item>
<widget class="QLineEdit" name="PaletteFilterLineEdit">
<property name="frame">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="PaletteFilterClearButton">
<property name="minimumSize">
<size>
<width>30</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>30</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>X</string>
</property>
<property name="flat">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item row="5" column="0">
<widget class="QTableWidget" name="PaletteListTable">
<property name="minimumSize">
<size>
<width>0</width>
<height>147</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="frameShape">
<enum>QFrame::Panel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAsNeeded</enum>
</property>
<property name="autoScroll">
<bool>false</bool>
</property>
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="tabKeyNavigation">
<bool>false</bool>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::NoSelection</enum>
</property>
<property name="horizontalScrollMode">
<enum>QAbstractItemView::ScrollPerPixel</enum>
</property>
<property name="cornerButtonEnabled">
<bool>false</bool>
</property>
<property name="columnCount">
<number>2</number>
</property>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>16</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>16</number>
</attribute>
<attribute name="verticalHeaderStretchLastSection">
<bool>false</bool>
</attribute>
<column>
<property name="text">
<string>Name</string>
</property>
<property name="textAlignment">
<set>AlignLeading|AlignVCenter</set>
</property>
</column>
<column>
<property name="text">
<string>Palette</string>
</property>
<property name="textAlignment">
<set>AlignLeading|AlignVCenter</set>
</property>
</column>
</widget>
</item>
<item row="6" column="0">
<widget class="QPushButton" name="ResetCurvesButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
@ -2506,7 +2563,7 @@
</property>
</widget>
</item>
<item row="10" column="0">
<item row="7" column="0">
<widget class="CurvesGraphicsView" name="CurvesView">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
@ -2569,7 +2626,7 @@
</property>
</widget>
</item>
<item row="11" column="0">
<item row="8" column="0">
<widget class="QGroupBox" name="CurvesGroupBox">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;When curves are on top of each other, it can be hard to grab them with the mouse, so use these radio buttons to specify which color you intend to grab.&lt;/p&gt;&lt;p&gt;If they are not on top of each other, just dragging the desired dot with the mouse will work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
@ -2630,21 +2687,28 @@
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QDockWidget" name="XformsDockWidget">
<property name="geometry">
<rect>
<x>240</x>
<y>0</y>
<width>291</width>
<height>881</height>
<width>301</width>
<height>901</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>291</width>
<height>632</height>
<height>200</height>
</size>
</property>
<property name="floating">
<bool>false</bool>
</property>
<property name="features">
<set>QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetMovable</set>
</property>
@ -2655,7 +2719,10 @@
<string>Xforms</string>
</property>
<widget class="QWidget" name="XformsDockWidgetContents">
<layout class="QGridLayout" name="gridLayout_4">
<layout class="QVBoxLayout" name="verticalLayout_17">
<property name="spacing">
<number>4</number>
</property>
<property name="leftMargin">
<number>5</number>
</property>
@ -2668,10 +2735,40 @@
<property name="bottomMargin">
<number>4</number>
</property>
<property name="spacing">
<number>4</number>
<item>
<widget class="QScrollArea" name="XformsDockWidgetScrollArea">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<item row="0" column="0">
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="XformsDockScrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>291</width>
<height>874</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_16">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<layout class="QHBoxLayout" name="XformTabHLayout">
<property name="spacing">
<number>2</number>
@ -2922,7 +3019,7 @@
</item>
</layout>
</item>
<item row="1" column="0">
<item>
<widget class="TableWidget" name="XformWeightNameTable">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Minimum">
@ -3048,10 +3145,20 @@
</item>
</widget>
</item>
<item row="3" column="0">
<item>
<widget class="QCheckBox" name="AnimateXformCheckBox">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Rotate this xform during the rotation phase when creating a sequence for animation&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Animate</string>
</property>
</widget>
</item>
<item>
<widget class="QTabWidget" name="XformsTabWidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Ignored" vsizetype="MinimumExpanding">
<sizepolicy hsizetype="Ignored" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@ -3534,7 +3641,7 @@
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>110</number>
<number>125</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
@ -3681,48 +3788,6 @@
<property name="bottomMargin">
<number>5</number>
</property>
<item>
<widget class="QScrollArea" name="AffineTabScrollArea">
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="AffineTabScrollWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>128</width>
<height>686</height>
</rect>
</property>
<property name="autoFillBackground">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<property name="spacing">
<number>4</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QGroupBox" name="PreAffineGroupBox">
<property name="sizePolicy">
@ -5341,16 +5406,6 @@
</layout>
</widget>
</item>
<item>
<widget class="QCheckBox" name="PolarAffineCheckBox">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Check to display affine values in polar coordinates, uncheck to display them in Cartesian form.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Polar</string>
</property>
</widget>
</item>
<item>
<widget class="QGroupBox" name="PivotGroupBox">
<property name="toolTip">
@ -5401,6 +5456,16 @@
</layout>
</widget>
</item>
<item>
<widget class="QCheckBox" name="PolarAffineCheckBox">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Check to display affine values in polar coordinates, uncheck to display them in Cartesian form.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Polar</string>
</property>
</widget>
</item>
<item>
<spacer name="AffineTabVerticalSpacer">
<property name="orientation">
@ -5419,10 +5484,6 @@
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="XformVariationsTab">
<property name="toolTip">
<string/>
@ -5786,8 +5847,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>136</width>
<height>58</height>
<width>267</width>
<height>653</height>
</rect>
</property>
<property name="sizePolicy">
@ -5837,14 +5898,8 @@
</widget>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="AnimateXformCheckBox">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Rotate this xform during the rotation phase when creating a sequence for animation&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Animate</string>
</property>
</layout>
</widget>
</widget>
</item>
</layout>
@ -5865,6 +5920,9 @@
<height>200</height>
</size>
</property>
<property name="floating">
<bool>false</bool>
</property>
<property name="features">
<set>QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetMovable</set>
</property>
@ -6895,8 +6953,8 @@
</property>
<property name="minimumSize">
<size>
<width>150</width>
<height>251</height>
<width>200</width>
<height>200</height>
</size>
</property>
<property name="maximumSize">

View File

@ -40,6 +40,7 @@ void Fractorium::InitParamsUI()
comboVals.push_back("Linear");
SetupCombo(table, this, row, 1, m_PaletteModeCombo, comboVals, SIGNAL(currentIndexChanged(int)), SLOT(OnPaletteModeComboCurrentIndexChanged(int)));
m_PaletteModeCombo->SetCurrentIndexStealth(int(ePaletteMode::PALETTE_LINEAR));
table->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
//Geometry.
row = 0;
table = ui.GeometryTable;
@ -61,6 +62,7 @@ void Fractorium::InitParamsUI()
m_ZPosSpin->setDecimals(3);
m_PerspectiveSpin->setDecimals(4);
m_DepthBlurSpin->setDecimals(3);
table->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
//Filter.
row = 0;
table = ui.FilterTable;
@ -71,6 +73,7 @@ void Fractorium::InitParamsUI()
SetupSpinner<DoubleSpinBox, double>(table, this, row, 1, m_DEFilterMinRadiusSpin, spinHeight, 0, 25, 1, SIGNAL(valueChanged(double)), SLOT(OnDEFilterMinRadiusWidthChanged(double)), true, 0, 0, 0);
SetupSpinner<DoubleSpinBox, double>(table, this, row, 1, m_DEFilterMaxRadiusSpin, spinHeight, 0, 25, 1, SIGNAL(valueChanged(double)), SLOT(OnDEFilterMaxRadiusWidthChanged(double)), true, 0.0, 9.0, 0);
SetupSpinner<DoubleSpinBox, double>(table, this, row, 1, m_DECurveSpin, spinHeight, 0.15, 5, 0.1, SIGNAL(valueChanged(double)), SLOT(OnDEFilterCurveWidthChanged(double)), true, 0.4, 0.4, 0.4);
table->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
//Iteration.
row = 0;
table = ui.IterationTable;
@ -79,6 +82,7 @@ void Fractorium::InitParamsUI()
SetupSpinner<SpinBox, int>( table, this, row, 1, m_FuseSpin, spinHeight, 1, 1000, 5, SIGNAL(valueChanged(int)), SLOT(OnFuseChanged(int)), true, 15, 15, 15);
SetupSpinner<DoubleSpinBox, double>(table, this, row, 1, m_QualitySpin, spinHeight, 1, dmax, 50, SIGNAL(valueChanged(double)), SLOT(OnQualityChanged(double)), true, quality, 10, 10);
SetupSpinner<SpinBox, int>( table, this, row, 1, m_SupersampleSpin, spinHeight, 1, 4, 1, SIGNAL(valueChanged(int)), SLOT(OnSupersampleChanged(int)), true, 1, 1, 1);
table->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
//Animation.
row = 0;
table = ui.AnimationTable;
@ -96,6 +100,7 @@ void Fractorium::InitParamsUI()
SetupSpinner<DoubleSpinBox, double>(table, this, row, 1, m_TemporalFilterWidthSpin, spinHeight, 1, 10, 1, SIGNAL(valueChanged(double)), SLOT(OnTemporalFilterWidthChanged(double)), true, 1);
comboVals = TemporalFilterCreator<float>::FilterTypes();
SetupCombo( table, this, row, 1, m_TemporalFilterTypeCombo, comboVals, SIGNAL(currentIndexChanged(const QString&)), SLOT(OnTemporalFilterTypeComboCurrentIndexChanged(const QString&)));
table->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
}
/// <summary>

View File

@ -28,6 +28,8 @@ FractoriumOptionsDialog::FractoriumOptionsDialog(QWidget* p, Qt::WindowFlags f)
ui.OptionsIdentityTable->setCellWidget(1, 1, m_UrlEdit);
m_NickEdit = new QLineEdit(ui.OptionsIdentityTable);
ui.OptionsIdentityTable->setCellWidget(2, 1, m_NickEdit);
table->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
ui.OptionsIdentityTable->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
table = ui.DeviceTable;
table->clearContents();
table->setRowCount(0);