--User changes

-Add a button to swap the pre and post affine values for all selected xforms.

--Bug fixes
 -Remove the ability to change spinner values with +=-=, it was conflicting with other things and added no real value.
 -All file dialog opening in Linux would freeze. No longer using native file dialogs, they are broken.
 -Set default open path to the desktop if there is no settings file present, which will be the case on the first run.
 -Amphibole_Supergroup.ugr palette had an invalid character in two of the palette names.

--Code changes
 -Change some table header padding styles to work with new Qt. Qss reload is required.
 -Ensure the open folder path setting always has a valid string in it before opening a folder.
This commit is contained in:
Person 2018-09-30 14:20:02 -07:00
parent 02c3c3967b
commit c91866acc3
30 changed files with 237 additions and 93 deletions

View File

@ -6,7 +6,7 @@
<ProductVersion>3.7</ProductVersion> <ProductVersion>3.7</ProductVersion>
<ProjectGuid>{c8096c47-e358-438c-a520-146d46b0637d}</ProjectGuid> <ProjectGuid>{c8096c47-e358-438c-a520-146d46b0637d}</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion> <SchemaVersion>2.0</SchemaVersion>
<OutputName>Fractorium_1.0.0.11</OutputName> <OutputName>Fractorium_1.0.0.12</OutputName>
<OutputType>Package</OutputType> <OutputType>Package</OutputType>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath> <WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath> <WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?define ProductVersion="1.0.0.11" ?> <?define ProductVersion="1.0.0.12" ?>
<?define ProductName="Fractorium $(var.ProductVersion) ($(var.GpuType))" ?> <?define ProductName="Fractorium $(var.ProductVersion) ($(var.GpuType))" ?>
<?define UpgradeCode="{4714cd15-bfba-44f6-8059-9e1466ebfa6e}"?> <?define UpgradeCode="{4714cd15-bfba-44f6-8059-9e1466ebfa6e}"?>
<?define Manufacturer="Fractorium"?> <?define Manufacturer="Fractorium"?>
@ -13,7 +13,7 @@
<!-- <!--
Change this for every release. Change this for every release.
--> -->
<?define ProductCode="{5C699D11-8625-4563-BCB6-722C3E6EE6B7}"?> <?define ProductCode="{B4D001AE-F268-41A2-9B33-CAFB26056DC3}"?>
<Product Id="$(var.ProductCode)" Name="$(var.ProductName)" Language="1033" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)"> <Product Id="$(var.ProductCode)" Name="$(var.ProductName)" Language="1033" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
<Package <Package
@ -164,16 +164,16 @@
<File Id="tbb.dll" Source="$(var.SolutionDir)..\..\..\Bin\$(var.Platform)\Release\tbb.dll" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64" ReadOnly="yes"/> <File Id="tbb.dll" Source="$(var.SolutionDir)..\..\..\Bin\$(var.Platform)\Release\tbb.dll" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64" ReadOnly="yes"/>
</Component> </Component>
<Component Id="msvcp140.dll" Guid="8f1ffde7-c1bd-45fb-8bc8-26dde552eafd"> <Component Id="msvcp140.dll" Guid="8f1ffde7-c1bd-45fb-8bc8-26dde552eafd">
<File Id="msvcp140.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.11.25325\x64\Microsoft.VC141.CRT\msvcp140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes"/> <File Id="msvcp140.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.15.26706\x64\Microsoft.VC141.CRT\msvcp140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes"/>
</Component> </Component>
<Component Id="vcruntime140.dll" Guid="50c9bc27-c547-4a03-9f6c-cd416f449dd8"> <Component Id="vcruntime140.dll" Guid="50c9bc27-c547-4a03-9f6c-cd416f449dd8">
<File Id="vcruntime140.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.11.25325\x64\Microsoft.VC141.CRT\vcruntime140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes"/> <File Id="vcruntime140.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.15.26706\x64\Microsoft.VC141.CRT\vcruntime140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes"/>
</Component> </Component>
<Component Id="vccorlib140.dll" Guid="affe33e7-1e64-4bb0-a062-2b56f77459b4"> <Component Id="vccorlib140.dll" Guid="affe33e7-1e64-4bb0-a062-2b56f77459b4">
<File Id="vccorlib140.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.11.25325\x64\Microsoft.VC141.CRT\vccorlib140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes"/> <File Id="vccorlib140.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.15.26706\x64\Microsoft.VC141.CRT\vccorlib140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes"/>
</Component> </Component>
<Component Id="concrt140.dll" Guid="7fb716a1-1b4f-42fb-89c7-4d216ebd6e2e"> <Component Id="concrt140.dll" Guid="7fb716a1-1b4f-42fb-89c7-4d216ebd6e2e">
<File Id="concrt140.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.11.25325\x64\Microsoft.VC141.CRT\concrt140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes"/> <File Id="concrt140.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.15.26706\x64\Microsoft.VC141.CRT\concrt140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes"/>
</Component> </Component>
<Component Id="flam3palettes.xml" Guid="d3adb0bb-14ef-4923-99d9-a5784b7ef04e"> <Component Id="flam3palettes.xml" Guid="d3adb0bb-14ef-4923-99d9-a5784b7ef04e">
<File Id="flam3palettes.xml" Source="$(var.SolutionDir)..\..\..\Data\flam3-palettes.xml" KeyPath="yes" Checksum="yes" ReadOnly="yes"/> <File Id="flam3palettes.xml" Source="$(var.SolutionDir)..\..\..\Data\flam3-palettes.xml" KeyPath="yes" Checksum="yes" ReadOnly="yes"/>

Binary file not shown.

View File

@ -49,8 +49,8 @@
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 1, 0, 0, 11 FILEVERSION 1, 0, 0, 12
PRODUCTVERSION 1, 0, 0, 11 PRODUCTVERSION 1, 0, 0, 12
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@ -67,12 +67,12 @@
BEGIN BEGIN
VALUE "CompanyName", "Open Source" VALUE "CompanyName", "Open Source"
VALUE "FileDescription", "Renders fractal flames as animations with motion blur" VALUE "FileDescription", "Renders fractal flames as animations with motion blur"
VALUE "FileVersion", "1.0.0.11" VALUE "FileVersion", "1.0.0.12"
VALUE "InternalName", "EmberAnimate.exe" VALUE "InternalName", "EmberAnimate.exe"
VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2018, GPL v3" VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2018, GPL v3"
VALUE "OriginalFilename", "EmberAnimate.exe" VALUE "OriginalFilename", "EmberAnimate.exe"
VALUE "ProductName", "Ember Animate" VALUE "ProductName", "Ember Animate"
VALUE "ProductVersion", "1.0.0.11" VALUE "ProductVersion", "1.0.0.12"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"

Binary file not shown.

View File

@ -49,8 +49,8 @@
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 1, 0, 0, 11 FILEVERSION 1, 0, 0, 12
PRODUCTVERSION 1, 0, 0, 11 PRODUCTVERSION 1, 0, 0, 12
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@ -67,12 +67,12 @@
BEGIN BEGIN
VALUE "CompanyName", "Open Source" VALUE "CompanyName", "Open Source"
VALUE "FileDescription", "Manipulates fractal flames parameter files" VALUE "FileDescription", "Manipulates fractal flames parameter files"
VALUE "FileVersion", "1.0.0.11" VALUE "FileVersion", "1.0.0.12"
VALUE "InternalName", "EmberGenome.exe" VALUE "InternalName", "EmberGenome.exe"
VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2018, GPL v3" VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2018, GPL v3"
VALUE "OriginalFilename", "EmberGenome.exe" VALUE "OriginalFilename", "EmberGenome.exe"
VALUE "ProductName", "Ember Genome" VALUE "ProductName", "Ember Genome"
VALUE "ProductVersion", "1.0.0.11" VALUE "ProductVersion", "1.0.0.12"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"

View File

@ -49,8 +49,8 @@
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 1, 0, 0, 11 FILEVERSION 1, 0, 0, 12
PRODUCTVERSION 1, 0, 0, 11 PRODUCTVERSION 1, 0, 0, 12
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@ -67,12 +67,12 @@
BEGIN BEGIN
VALUE "CompanyName", "Open Source" VALUE "CompanyName", "Open Source"
VALUE "FileDescription", "Renders fractal flames as single images" VALUE "FileDescription", "Renders fractal flames as single images"
VALUE "FileVersion", "1.0.0.11" VALUE "FileVersion", "1.0.0.12"
VALUE "InternalName", "EmberRender.exe" VALUE "InternalName", "EmberRender.exe"
VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2018, GPL v3" VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2018, GPL v3"
VALUE "OriginalFilename", "EmberRender.exe" VALUE "OriginalFilename", "EmberRender.exe"
VALUE "ProductName", "Ember Render" VALUE "ProductName", "Ember Render"
VALUE "ProductVersion", "1.0.0.11" VALUE "ProductVersion", "1.0.0.12"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"

Binary file not shown.

View File

@ -1,4 +1,4 @@
VERSION = 1.0.0.11 VERSION = 1.0.0.12
win32:CONFIG += skip_target_version_ext win32:CONFIG += skip_target_version_ext
CONFIG += c++14 CONFIG += c++14

View File

@ -4976,9 +4976,9 @@ gradient:
} }
Ferro-ferri-nybøite { Ferro-ferri-nyboite {
gradient: gradient:
title="Ferro-ferri-nybøite" smooth=no title="Ferro-ferri-nyboite" smooth=no
index=0 color=3032133 index=0 color=3032133
index=2 color=2372156 index=2 color=2372156
index=3 color=2239542 index=3 color=2239542
@ -14670,9 +14670,9 @@ gradient:
} }
Raw_Nybøite { Raw_Nyboite {
gradient: gradient:
title="Raw_Nybøite" smooth=no title="Raw_Nyboite" smooth=no
index=0 color=5076103 index=0 color=5076103
index=2 color=3825246 index=2 color=3825246
index=3 color=2970712 index=3 color=2970712

View File

@ -1,3 +1,17 @@
1.0.0.12 9/30/2018
--User changes
-Add a button to swap the pre and post affine values for all selected xforms.
--Bug fixes
-Remove the ability to change spinner values with +=-=, it was conflicting with other things and added no real value.
-All file dialog opening in Linux would freeze. No longer using native file dialogs, they are broken.
-Set default open path to the desktop if there is no settings file present, which will be the case on the first run.
-Amphibole_Supergroup.ugr palette had an invalid character in two of the palette names.
--Code changes
-Change some table header padding styles to work with new Qt. Qss reload is required.
-Ensure the open folder path setting always has a valid string in it before opening a folder.
1.0.0.11 9/27/2018 1.0.0.11 9/27/2018
--User changes --User changes
-Double clicking on width or height spinner now resizes both, but scales to the one double clicked. -Double clicking on width or height spinner now resizes both, but scales to the one double clicked.

View File

@ -101,7 +101,7 @@ QDoubleSpinBox
padding-right: 0px; padding-right: 0px;
color: darkgray; color: darkgray;
selection-background-color: darkgray; selection-background-color: darkgray;
font: 9pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/ font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/
} }
QCheckBox QCheckBox
@ -322,7 +322,7 @@ QTreeView
{ {
border: 1px solid gray; border: 1px solid gray;
background-color: rgb(53, 53, 53); background-color: rgb(53, 53, 53);
font: 9pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/ font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/
} }
/*Setting this gives a more consistent look. Also, by omitting color and background color, it allows us to set it above with VariationTreeColorNonZero etc...*/ /*Setting this gives a more consistent look. Also, by omitting color and background color, it allows us to set it above with VariationTreeColorNonZero etc...*/
@ -378,7 +378,7 @@ QTableView
color: darkgray; color: darkgray;
selection-color: darkgray; selection-color: darkgray;
selection-background-color: rgb(53, 53, 53); selection-background-color: rgb(53, 53, 53);
font: 9pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/ font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/
} }
QTableView QTableCornerButton::section:enabled QTableView QTableCornerButton::section:enabled
@ -409,8 +409,9 @@ QHeaderView::section::vertical:enabled
background-color: gray; background-color: gray;
border: none; border: none;
border-bottom: 1px solid gray; border-bottom: 1px solid gray;
padding: 4px; padding-left: 5px;
font: 9pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/ padding-right: 0px;
font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/
} }
QHeaderView::section::horizontal:enabled QHeaderView::section::horizontal:enabled
@ -419,8 +420,10 @@ QHeaderView::section::horizontal:enabled
background-color: darkgray; background-color: darkgray;
border: 0px solid darkgray; border: 0px solid darkgray;
border-right: 1px solid gray; border-right: 1px solid gray;
padding: 4px; padding-top: 0px;
font: 9pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/ padding-bottom: 0px;
padding-left: 3px;
font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/
} }
QHeaderView::section::vertical:disabled QHeaderView::section::vertical:disabled
@ -429,8 +432,9 @@ QHeaderView::section::vertical:disabled
background-color: rgb(53, 53, 53); background-color: rgb(53, 53, 53);
border: 0px none darkgray; border: 0px none darkgray;
border-bottom: 1px solid rgb(53, 53, 53); border-bottom: 1px solid rgb(53, 53, 53);
padding: 4px; padding-left: 5px;
font: 9pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/ padding-right: 0px;
font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/
} }
QHeaderView::section::horizontal:disabled QHeaderView::section::horizontal:disabled
@ -439,8 +443,10 @@ QHeaderView::section::horizontal:disabled
background-color: rgb(53, 53, 53); background-color: rgb(53, 53, 53);
border: 0px none darkgray; border: 0px none darkgray;
border-right: 1px solid rgb(53, 53, 53); border-right: 1px solid rgb(53, 53, 53);
padding: 4px; padding-top: 0px;
font: 9pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/ padding-bottom: 0px;
padding-left: 3px;
font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/
} }
QScrollBar::vertical QScrollBar::vertical

View File

@ -101,7 +101,7 @@ QDoubleSpinBox
padding-right: 0px; padding-right: 0px;
color: darkgray; color: darkgray;
selection-background-color: darkgray; selection-background-color: darkgray;
font: 9pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/ font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/
} }
QCheckBox QCheckBox
@ -322,7 +322,7 @@ QTreeView
{ {
border: 1px solid gray; border: 1px solid gray;
background-color: rgb(53, 53, 53); background-color: rgb(53, 53, 53);
font: 9pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/ font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/
} }
@ -379,7 +379,7 @@ QTableView
color: darkgray; color: darkgray;
selection-color: darkgray; selection-color: darkgray;
selection-background-color: rgb(53, 53, 53); selection-background-color: rgb(53, 53, 53);
font: 9pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/ font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/
} }
QTableView QTableCornerButton::section:enabled QTableView QTableCornerButton::section:enabled
@ -410,8 +410,9 @@ QHeaderView::section::vertical:enabled
background-color: gray; background-color: gray;
border: none; border: none;
border-bottom: 1px solid gray; border-bottom: 1px solid gray;
padding: 4px; padding-left: 5px;
font: 9pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/ padding-right: 0px;
font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/
} }
QHeaderView::section::horizontal:enabled QHeaderView::section::horizontal:enabled
@ -420,8 +421,10 @@ QHeaderView::section::horizontal:enabled
background-color: darkgray; background-color: darkgray;
border: 0px solid darkgray; border: 0px solid darkgray;
border-right: 1px solid gray; border-right: 1px solid gray;
padding: 4px; padding-top: 0px;
font: 9pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/ padding-bottom: 0px;
padding-left: 3px;
font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/
} }
QHeaderView::section::vertical:disabled QHeaderView::section::vertical:disabled
@ -430,8 +433,9 @@ QHeaderView::section::vertical:disabled
background-color: rgb(53, 53, 53); background-color: rgb(53, 53, 53);
border: 0px none darkgray; border: 0px none darkgray;
border-bottom: 1px solid rgb(53, 53, 53); border-bottom: 1px solid rgb(53, 53, 53);
padding: 4px; padding-left: 5px;
font: 9pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/ padding-right: 0px;
font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/
} }
QHeaderView::section::horizontal:disabled QHeaderView::section::horizontal:disabled
@ -440,8 +444,10 @@ QHeaderView::section::horizontal:disabled
background-color: rgb(53, 53, 53); background-color: rgb(53, 53, 53);
border: 0px none darkgray; border: 0px none darkgray;
border-right: 1px solid rgb(53, 53, 53); border-right: 1px solid rgb(53, 53, 53);
padding: 4px; padding-top: 0px;
font: 9pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/ padding-bottom: 0px;
padding-left: 3px;
font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/
} }
QScrollBar::vertical QScrollBar::vertical

View File

@ -409,7 +409,8 @@ QHeaderView::section::vertical:enabled
background-color: gray; background-color: gray;
border: none; border: none;
border-bottom: 1px solid gray; border-bottom: 1px solid gray;
padding: 4px; padding-left: 5px;
padding-right: 0px;
font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/ font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/
} }
@ -419,7 +420,9 @@ QHeaderView::section::horizontal:enabled
background-color: darkgray; background-color: darkgray;
border: 0px solid darkgray; border: 0px solid darkgray;
border-right: 1px solid gray; border-right: 1px solid gray;
padding: 4px; padding-top: 0px;
padding-bottom: 0px;
padding-left: 3px;
font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/ font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/
} }
@ -429,7 +432,8 @@ QHeaderView::section::vertical:disabled
background-color: rgb(53, 53, 53); background-color: rgb(53, 53, 53);
border: 0px none darkgray; border: 0px none darkgray;
border-bottom: 1px solid rgb(53, 53, 53); border-bottom: 1px solid rgb(53, 53, 53);
padding: 4px; padding-left: 5px;
padding-right: 0px;
font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/ font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/
} }
@ -439,7 +443,9 @@ QHeaderView::section::horizontal:disabled
background-color: rgb(53, 53, 53); background-color: rgb(53, 53, 53);
border: 0px none darkgray; border: 0px none darkgray;
border-right: 1px solid rgb(53, 53, 53); border-right: 1px solid rgb(53, 53, 53);
padding: 4px; padding-top: 0px;
padding-bottom: 0px;
padding-left: 3px;
font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/ font: 8pt "MS Shell Dlg 2";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/
} }

View File

@ -37,7 +37,7 @@ static void sincos(float x, float* s, float* c)
namespace EmberNs namespace EmberNs
{ {
#define EMBER_VERSION "1.0.0.11" #define EMBER_VERSION "1.0.0.12"
#define EPS6 T(1e-6) #define EPS6 T(1e-6)
#define EPS std::numeric_limits<T>::epsilon()//Apoplugin.h uses -20, but it's more mathematically correct to do it this way. #define EPS std::numeric_limits<T>::epsilon()//Apoplugin.h uses -20, but it's more mathematically correct to do it this way.
#define ISAAC_SIZE 4 #define ISAAC_SIZE 4

View File

@ -58,7 +58,7 @@
<enum>QFrame::NoFrame</enum> <enum>QFrame::NoFrame</enum>
</property> </property>
<property name="text"> <property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;Fractorium 1.0.0.11&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;A Qt-based fractal flame editor which uses a C++ re-write of the flam3 algorithm named Ember and a GPU capable version named EmberCL which implements a portion of the cuburn algorithm in OpenCL.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;http://fractorium.com&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;fractorium.com&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;Fractorium 1.0.0.12&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;A Qt-based fractal flame editor which uses a C++ re-write of the flam3 algorithm named Ember and a GPU capable version named EmberCL which implements a portion of the cuburn algorithm in OpenCL.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;http://fractorium.com&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;fractorium.com&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
<property name="textFormat"> <property name="textFormat">
<enum>Qt::RichText</enum> <enum>Qt::RichText</enum>

View File

@ -245,8 +245,14 @@ bool DoubleSpinBox::eventFilter(QObject* o, QEvent* e)
setValue(value() - (ctrl ? m_Step * 10 : m_Step)); setValue(value() - (ctrl ? m_Step * 10 : m_Step));
} }
} }
return true;
} }
} }
else if (dynamic_cast<QKeyEvent*>(e))
{
return true;
}
} }
return QDoubleSpinBox::eventFilter(o, e); return QDoubleSpinBox::eventFilter(o, e);
@ -263,7 +269,7 @@ void DoubleSpinBox::keyPressEvent(QKeyEvent* ke)
bool shift = QGuiApplication::keyboardModifiers().testFlag(Qt::ShiftModifier); bool shift = QGuiApplication::keyboardModifiers().testFlag(Qt::ShiftModifier);
bool ctrl = QGuiApplication::keyboardModifiers().testFlag(Qt::ControlModifier); bool ctrl = QGuiApplication::keyboardModifiers().testFlag(Qt::ControlModifier);
if (ke->key() == Qt::Key_Plus || ke->key() == Qt::Key_Equal || ke->key() == Qt::Key_Up) if (ke->key() == Qt::Key_Up)
{ {
if (shift) if (shift)
{ {
@ -275,8 +281,10 @@ void DoubleSpinBox::keyPressEvent(QKeyEvent* ke)
setSingleStep(m_Step); setSingleStep(m_Step);
setValue(value() + (ctrl ? m_Step * 10 : m_Step)); setValue(value() + (ctrl ? m_Step * 10 : m_Step));
} }
ke->accept();
} }
else if (ke->key() == Qt::Key_Minus || ke->key() == Qt::Key_Underscore || ke->key() == Qt::Key_Down) else if (ke->key() == Qt::Key_Down)
{ {
if (shift) if (shift)
{ {
@ -288,6 +296,8 @@ void DoubleSpinBox::keyPressEvent(QKeyEvent* ke)
setSingleStep(m_Step); setSingleStep(m_Step);
setValue(value() - (ctrl ? m_Step * 10 : m_Step)); setValue(value() - (ctrl ? m_Step * 10 : m_Step));
} }
ke->accept();
} }
else else
QDoubleSpinBox::keyPressEvent(ke); QDoubleSpinBox::keyPressEvent(ke);

View File

@ -398,37 +398,42 @@ bool Fractorium::eventFilter(QObject* o, QEvent* e)
} }
else if (o == this) else if (o == this)
{ {
unsigned int index = combo->currentIndex(); auto focusedctrl = dynamic_cast<QSpinBox*>(this->focusWidget());
if (ke->key() == Qt::Key_Plus || ke->key() == Qt::Key_Equal) if (!focusedctrl)//Doesn't seem to matter, but just to be safe.
{ {
xfupcount++; unsigned int index = combo->currentIndex();
if (xfupcount >= 3) if (ke->key() == Qt::Key_Plus || ke->key() == Qt::Key_Equal)
{ {
xfupcount = 0; xfupcount++;
combo->setCurrentIndex((index + 1) % combo->count());
//qDebug() << "global arrow plus key press: " << ke->key() << " " << o->metaObject()->className() << " " << o->objectName(); if (xfupcount >= 3)
{
xfupcount = 0;
combo->setCurrentIndex((index + 1) % combo->count());
//qDebug() << "global arrow plus key press: " << ke->key() << " " << o->metaObject()->className() << " " << o->objectName();
}
return true;
} }
else if (ke->key() == Qt::Key_Minus || ke->key() == Qt::Key_Underscore)
return true;
}
else if (ke->key() == Qt::Key_Minus || ke->key() == Qt::Key_Underscore)
{
xfdncount++;
if (xfdncount >= 3)
{ {
xfdncount = 0; xfdncount++;
if (index == 0) if (xfdncount >= 3)
index = combo->count(); {
xfdncount = 0;
combo->setCurrentIndex((index - 1) % combo->count()); if (index == 0)
//qDebug() << "global arrow minus key press: " << ke->key() << " " << o->metaObject()->className() << " " << o->objectName(); index = combo->count();
combo->setCurrentIndex((index - 1) % combo->count());
//qDebug() << "global arrow minus key press: " << ke->key() << " " << o->metaObject()->className() << " " << o->objectName();
}
return true;
} }
return true;
} }
} }
} }
@ -594,6 +599,7 @@ QStringList Fractorium::SetupOpenXmlDialog()
{ {
m_FileDialog = new QFileDialog(this); m_FileDialog = new QFileDialog(this);
m_FileDialog->setViewMode(QFileDialog::List); m_FileDialog->setViewMode(QFileDialog::List);
m_FileDialog->setOption(QFileDialog::DontUseNativeDialog, true);
} }
QStringList filenames; QStringList filenames;
@ -642,6 +648,7 @@ QString Fractorium::SetupSaveXmlDialog(const QString& defaultFilename)
{ {
m_FileDialog = new QFileDialog(this); m_FileDialog = new QFileDialog(this);
m_FileDialog->setViewMode(QFileDialog::List); m_FileDialog->setViewMode(QFileDialog::List);
m_FileDialog->setOption(QFileDialog::DontUseNativeDialog, true);
} }
QString filename; QString filename;
@ -687,6 +694,7 @@ QString Fractorium::SetupSaveImageDialog(const QString& defaultFilename)
{ {
m_FileDialog = new QFileDialog(this); m_FileDialog = new QFileDialog(this);
m_FileDialog->setViewMode(QFileDialog::List); m_FileDialog->setViewMode(QFileDialog::List);
m_FileDialog->setOption(QFileDialog::DontUseNativeDialog, true);
} }
QString filename; QString filename;
@ -702,7 +710,6 @@ QString Fractorium::SetupSaveImageDialog(const QString& defaultFilename)
m_FileDialog->selectFile(defaultFilename); m_FileDialog->selectFile(defaultFilename);
m_FileDialog->setFileMode(QFileDialog::AnyFile); m_FileDialog->setFileMode(QFileDialog::AnyFile);
m_FileDialog->setOption(QFileDialog::ShowDirsOnly, false); m_FileDialog->setOption(QFileDialog::ShowDirsOnly, false);
m_FileDialog->setOption(QFileDialog::DontUseNativeDialog, false);
#ifdef _WIN32 #ifdef _WIN32
m_FileDialog->setNameFilter(".bmp;;.jpg;;.png;;.exr"); m_FileDialog->setNameFilter(".bmp;;.jpg;;.png;;.exr");
#else #else
@ -738,6 +745,7 @@ QString Fractorium::SetupSaveFolderDialog()
{ {
m_FolderDialog = new QFileDialog(this); m_FolderDialog = new QFileDialog(this);
m_FolderDialog->setViewMode(QFileDialog::List); m_FolderDialog->setViewMode(QFileDialog::List);
m_FolderDialog->setOption(QFileDialog::DontUseNativeDialog, true);
} }
QString filename; QString filename;
@ -893,6 +901,7 @@ void Fractorium::SetTabOrders()
w = SetTabOrder(this, w, ui.PreRandomButton); w = SetTabOrder(this, w, ui.PreRandomButton);
w = SetTabOrder(this, w, ui.ShowPreAffineCurrentRadio); w = SetTabOrder(this, w, ui.ShowPreAffineCurrentRadio);
w = SetTabOrder(this, w, ui.ShowPreAffineAllRadio); w = SetTabOrder(this, w, ui.ShowPreAffineAllRadio);
w = SetTabOrder(this, w, ui.SwapAffinesButton);
w = SetTabOrder(this, w, ui.PostAffineGroupBox); w = SetTabOrder(this, w, ui.PostAffineGroupBox);
w = SetTabOrder(this, w, m_PostX1Spin); w = SetTabOrder(this, w, m_PostX1Spin);
w = SetTabOrder(this, w, m_PostX2Spin); w = SetTabOrder(this, w, m_PostX2Spin);

View File

@ -286,6 +286,7 @@ public slots:
void OnCopyAffineButtonClicked(bool checked); void OnCopyAffineButtonClicked(bool checked);
void OnPasteAffineButtonClicked(bool checked); void OnPasteAffineButtonClicked(bool checked);
void OnRandomAffineButtonClicked(bool checked); void OnRandomAffineButtonClicked(bool checked);
void OnSwapAffinesButtonClicked(bool checked);
void OnAffineGroupBoxToggled(bool on); void OnAffineGroupBoxToggled(bool on);
void OnAffineDrawAllCurrentRadioButtonToggled(bool checked); void OnAffineDrawAllCurrentRadioButtonToggled(bool checked);

View File

@ -466,7 +466,7 @@
<string>Geometry</string> <string>Geometry</string>
</property> </property>
<property name="textAlignment"> <property name="textAlignment">
<set>AlignHCenter|AlignTop</set> <set>AlignCenter</set>
</property> </property>
</column> </column>
</widget> </widget>
@ -547,7 +547,7 @@
<string>Iteration</string> <string>Iteration</string>
</property> </property>
<property name="textAlignment"> <property name="textAlignment">
<set>AlignHCenter|AlignTop</set> <set>AlignCenter</set>
</property> </property>
</column> </column>
</widget> </widget>
@ -637,7 +637,7 @@
<string>Color</string> <string>Color</string>
</property> </property>
<property name="textAlignment"> <property name="textAlignment">
<set>AlignHCenter|AlignTop</set> <set>AlignCenter</set>
</property> </property>
</column> </column>
</widget> </widget>
@ -734,7 +734,7 @@
<string>Filter</string> <string>Filter</string>
</property> </property>
<property name="textAlignment"> <property name="textAlignment">
<set>AlignHCenter|AlignTop</set> <set>AlignCenter</set>
</property> </property>
</column> </column>
</widget> </widget>
@ -1624,7 +1624,7 @@
<string>Animation</string> <string>Animation</string>
</property> </property>
<property name="textAlignment"> <property name="textAlignment">
<set>AlignHCenter|AlignTop</set> <set>AlignCenter</set>
</property> </property>
</column> </column>
</widget> </widget>
@ -3040,13 +3040,13 @@
</property> </property>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>58</width> <width>62</width>
<height>24</height> <height>24</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>58</width> <width>62</width>
<height>24</height> <height>24</height>
</size> </size>
</property> </property>
@ -3181,18 +3181,30 @@
<property name="text"> <property name="text">
<string>Weight</string> <string>Weight</string>
</property> </property>
<property name="textAlignment">
<set>AlignCenter</set>
</property>
</column> </column>
<column> <column>
<property name="text"> <property name="text">
<string>Name</string> <string>Name</string>
</property> </property>
<property name="textAlignment">
<set>AlignCenter</set>
</property>
</column> </column>
<item row="0" column="0"> <item row="0" column="0">
<property name="text">
<string/>
</property>
<property name="textAlignment"> <property name="textAlignment">
<set>AlignLeading|AlignVCenter</set> <set>AlignLeading|AlignVCenter</set>
</property> </property>
</item> </item>
<item row="0" column="1"> <item row="0" column="1">
<property name="text">
<string/>
</property>
<property name="textAlignment"> <property name="textAlignment">
<set>AlignLeading|AlignVCenter</set> <set>AlignLeading|AlignVCenter</set>
</property> </property>
@ -4684,6 +4696,16 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item>
<widget class="QPushButton" name="SwapAffinesButton">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Swap the values of the pre and post affines&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Swap</string>
</property>
</widget>
</item>
<item> <item>
<widget class="QGroupBox" name="PostAffineGroupBox"> <widget class="QGroupBox" name="PostAffineGroupBox">
<property name="sizePolicy"> <property name="sizePolicy">

View File

@ -517,7 +517,10 @@ static QString BaseStyle()
"\tbackground-color: lightgray;\n" "\tbackground-color: lightgray;\n"
"\tborder: none;\n" "\tborder: none;\n"
"\tborder-bottom: 1px solid gray;\n" "\tborder-bottom: 1px solid gray;\n"
"\tpadding: 4px;\n" "\tpadding-left: 5px;\n"
"\tpadding-right: 0px;\n"
"\tpadding-top: 0px;\n"
"\tpadding-bottom: 0px;\n"
"\tfont: 8pt \"MS Shell Dlg 2\";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/\n" "\tfont: 8pt \"MS Shell Dlg 2\";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/\n"
"}\n" "}\n"
"\n" "\n"
@ -527,7 +530,9 @@ static QString BaseStyle()
"\tbackground-color: lightgray;\n" "\tbackground-color: lightgray;\n"
"\tborder: 0px solid darkgray;\n" "\tborder: 0px solid darkgray;\n"
"\tborder-right: 1px solid gray;\n" "\tborder-right: 1px solid gray;\n"
"\tpadding: 4px;\n" "\tpadding-top: 0px;\n"
"\tpadding-bottom: 0px;\n"
"\tpadding-left: 3px;\n"
"\tfont: 8pt \"MS Shell Dlg 2\";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/\n" "\tfont: 8pt \"MS Shell Dlg 2\";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/\n"
"}\n" "}\n"
"\n" "\n"
@ -537,7 +542,10 @@ static QString BaseStyle()
"\tbackground-color: rgb(53, 53, 53);\n" "\tbackground-color: rgb(53, 53, 53);\n"
"\tborder: 0px none darkgray;\n" "\tborder: 0px none darkgray;\n"
"\tborder-bottom: 1px solid rgb(53, 53, 53);\n" "\tborder-bottom: 1px solid rgb(53, 53, 53);\n"
"\tpadding: 4px;\n" "\tpadding-left: 5px;\n"
"\tpadding-right: 0px;\n"
"\tpadding-top: 0px;\n"
"\tpadding-bottom: 0px;\n"
"\tfont: 8pt \"MS Shell Dlg 2\";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/\n" "\tfont: 8pt \"MS Shell Dlg 2\";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/\n"
"}\n" "}\n"
"\n" "\n"
@ -547,7 +555,9 @@ static QString BaseStyle()
"\tbackground-color: rgb(53, 53, 53);\n" "\tbackground-color: rgb(53, 53, 53);\n"
"\tborder: 0px none darkgray;\n" "\tborder: 0px none darkgray;\n"
"\tborder-right: 0px solid rgb(53, 53, 53);\n" "\tborder-right: 0px solid rgb(53, 53, 53);\n"
"\tpadding: 4px;\n" "\tpadding-top: 0px;\n"
"\tpadding-bottom: 0px;\n"
"\tpadding-left: 3px;\n"
"\tfont: 8pt \"MS Shell Dlg 2\";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/\n" "\tfont: 8pt \"MS Shell Dlg 2\";/*For some reason the font changes if you set any style. Set this to whatever font is the default on your system*/\n"
"}\n" "}\n"
; ;

View File

@ -198,6 +198,7 @@ public:
virtual void PasteXformsAffine(bool pre) { } virtual void PasteXformsAffine(bool pre) { }
virtual void RandomXformsAffine(bool pre) { } virtual void RandomXformsAffine(bool pre) { }
virtual void FillBothAffines() { } virtual void FillBothAffines() { }
virtual void SwapAffines() { }
double LockedScale() { return m_LockedScale; } double LockedScale() { return m_LockedScale; }
double LockedX() { return m_LockedX; } double LockedX() { return m_LockedX; }
double LockedY() { return m_LockedY; } double LockedY() { return m_LockedY; }
@ -475,6 +476,7 @@ public:
virtual void PasteXformsAffine(bool pre) override; virtual void PasteXformsAffine(bool pre) override;
virtual void RandomXformsAffine(bool pre) override; virtual void RandomXformsAffine(bool pre) override;
virtual void FillBothAffines() override; virtual void FillBothAffines() override;
virtual void SwapAffines() override;
virtual void InitLockedScale() override; virtual void InitLockedScale() override;
void FillAffineWithXform(Xform<T>* xform, bool pre); void FillAffineWithXform(Xform<T>* xform, bool pre);
void ChangeLockedScale(T value); void ChangeLockedScale(T value);

View File

@ -85,9 +85,20 @@ void FractoriumSettings::EnsureDefaults()
) )
FinalExt("png"); FinalExt("png");
auto s = SaveFolder(); auto s = OpenFolder();
QDir dir(s); QDir dir(s);
if (s.isEmpty() || !dir.exists())
{
QStringList paths = QStandardPaths::standardLocations(QStandardPaths::DesktopLocation);
if (!paths.empty())
OpenFolder(paths[0]);
}
s = SaveFolder();
dir = QDir(s);
if (s.isEmpty() || !dir.exists()) if (s.isEmpty() || !dir.exists())
{ {
QStringList paths = QStandardPaths::standardLocations(QStandardPaths::DesktopLocation); QStringList paths = QStandardPaths::standardLocations(QStandardPaths::DesktopLocation);

View File

@ -95,6 +95,7 @@ void Fractorium::InitXformsAffineUI()
connect(ui.PostRandomButton, SIGNAL(clicked(bool)), this, SLOT(OnRandomAffineButtonClicked(bool)), Qt::QueuedConnection); connect(ui.PostRandomButton, SIGNAL(clicked(bool)), this, SLOT(OnRandomAffineButtonClicked(bool)), Qt::QueuedConnection);
connect(ui.PreAffineGroupBox, SIGNAL(toggled(bool)), this, SLOT(OnAffineGroupBoxToggled(bool)), Qt::QueuedConnection); connect(ui.PreAffineGroupBox, SIGNAL(toggled(bool)), this, SLOT(OnAffineGroupBoxToggled(bool)), Qt::QueuedConnection);
connect(ui.PostAffineGroupBox, SIGNAL(toggled(bool)), this, SLOT(OnAffineGroupBoxToggled(bool)), Qt::QueuedConnection); connect(ui.PostAffineGroupBox, SIGNAL(toggled(bool)), this, SLOT(OnAffineGroupBoxToggled(bool)), Qt::QueuedConnection);
connect(ui.SwapAffinesButton, SIGNAL(clicked(bool)), this, SLOT(OnSwapAffinesButtonClicked(bool)), Qt::QueuedConnection);
connect(ui.ShowPreAffineAllRadio, SIGNAL(toggled(bool)), this, SLOT(OnAffineDrawAllCurrentRadioButtonToggled(bool)), Qt::QueuedConnection); connect(ui.ShowPreAffineAllRadio, SIGNAL(toggled(bool)), this, SLOT(OnAffineDrawAllCurrentRadioButtonToggled(bool)), Qt::QueuedConnection);
connect(ui.ShowPreAffineCurrentRadio, SIGNAL(toggled(bool)), this, SLOT(OnAffineDrawAllCurrentRadioButtonToggled(bool)), Qt::QueuedConnection); connect(ui.ShowPreAffineCurrentRadio, SIGNAL(toggled(bool)), this, SLOT(OnAffineDrawAllCurrentRadioButtonToggled(bool)), Qt::QueuedConnection);
connect(ui.ShowPreAffineSelectedRadio, SIGNAL(toggled(bool)), this, SLOT(OnAffineDrawAllCurrentRadioButtonToggled(bool)), Qt::QueuedConnection); connect(ui.ShowPreAffineSelectedRadio, SIGNAL(toggled(bool)), this, SLOT(OnAffineDrawAllCurrentRadioButtonToggled(bool)), Qt::QueuedConnection);
@ -704,6 +705,27 @@ void Fractorium::OnAffineGroupBoxToggled(bool on)
ui.GLDisplay->update(); ui.GLDisplay->update();
} }
/// <summary>
/// Swap the values of the pre and post affines for the selected xforms.
/// </summary>
template <typename T>
void FractoriumEmberController<T>::SwapAffines()
{
UpdateXform([&](Xform<T>* xform, size_t xfindex, size_t selIndex)
{
auto pre = xform->m_Affine;
auto post = xform->m_Post;
xform->m_Affine = post;
xform->m_Post = pre;
}, eXformUpdate::UPDATE_SELECTED);
FillBothAffines();
}
void Fractorium::OnSwapAffinesButtonClicked(bool checked)
{
m_Controller->SwapAffines();
}
/// <summary> /// <summary>
/// Trigger a redraw which will show all, or only the current, circle affine transforms /// Trigger a redraw which will show all, or only the current, circle affine transforms
/// based on which radio buttons are selected. /// based on which radio buttons are selected.

View File

@ -224,16 +224,25 @@
<property name="text"> <property name="text">
<string>Use</string> <string>Use</string>
</property> </property>
<property name="textAlignment">
<set>AlignCenter</set>
</property>
</column> </column>
<column> <column>
<property name="text"> <property name="text">
<string>Primary</string> <string>Primary</string>
</property> </property>
<property name="textAlignment">
<set>AlignCenter</set>
</property>
</column> </column>
<column> <column>
<property name="text"> <property name="text">
<string>Device</string> <string>Device</string>
</property> </property>
<property name="textAlignment">
<set>AlignCenter</set>
</property>
</column> </column>
</widget> </widget>
</item> </item>

View File

@ -510,6 +510,7 @@ QStringList PaletteEditor::SetupOpenImagesDialog()
m_FileDialog->setViewMode(QFileDialog::List); m_FileDialog->setViewMode(QFileDialog::List);
m_FileDialog->setFileMode(QFileDialog::ExistingFile); m_FileDialog->setFileMode(QFileDialog::ExistingFile);
m_FileDialog->setAcceptMode(QFileDialog::AcceptOpen); m_FileDialog->setAcceptMode(QFileDialog::AcceptOpen);
m_FileDialog->setOption(QFileDialog::DontUseNativeDialog, true);
#ifdef _WIN32 #ifdef _WIN32
m_FileDialog->setNameFilter("Image Files (*.png *.jpg *.bmp)"); m_FileDialog->setNameFilter("Image Files (*.png *.jpg *.bmp)");
#else #else

View File

@ -636,8 +636,9 @@ void QssDialog::SetupFileDialog()
if (!m_FileDialog) if (!m_FileDialog)
{ {
m_FileDialog = new QFileDialog(this); m_FileDialog = new QFileDialog(this);
m_FileDialog->setDirectory(m_Parent->m_SettingsPath);
m_FileDialog->setViewMode(QFileDialog::List); m_FileDialog->setViewMode(QFileDialog::List);
m_FileDialog->setDirectory(m_Parent->m_SettingsPath);
m_FileDialog->setOption(QFileDialog::DontUseNativeDialog, true);
} }
#endif #endif

View File

@ -242,6 +242,10 @@ bool SpinBox::eventFilter(QObject* o, QEvent* e)
} }
} }
} }
else if (dynamic_cast<QKeyEvent*>(e))
{
return true;
}
} }
} }
@ -259,7 +263,7 @@ void SpinBox::keyPressEvent(QKeyEvent* ke)
bool shift = QGuiApplication::keyboardModifiers().testFlag(Qt::ShiftModifier); bool shift = QGuiApplication::keyboardModifiers().testFlag(Qt::ShiftModifier);
bool ctrl = QGuiApplication::keyboardModifiers().testFlag(Qt::ControlModifier); bool ctrl = QGuiApplication::keyboardModifiers().testFlag(Qt::ControlModifier);
if (ke->key() == Qt::Key_Plus || ke->key() == Qt::Key_Equal || ke->key() == Qt::Key_Up) if (ke->key() == Qt::Key_Up)
{ {
if (shift) if (shift)
{ {
@ -271,8 +275,10 @@ void SpinBox::keyPressEvent(QKeyEvent* ke)
setSingleStep(m_Step); setSingleStep(m_Step);
setValue(value() + (ctrl ? m_Step * 10 : m_Step)); setValue(value() + (ctrl ? m_Step * 10 : m_Step));
} }
ke->accept();
} }
else if (ke->key() == Qt::Key_Minus || ke->key() == Qt::Key_Underscore || ke->key() == Qt::Key_Down) else if (ke->key() == Qt::Key_Down)
{ {
if (shift) if (shift)
{ {
@ -284,6 +290,8 @@ void SpinBox::keyPressEvent(QKeyEvent* ke)
setSingleStep(m_Step); setSingleStep(m_Step);
setValue(value() - (ctrl ? m_Step * 10 : m_Step)); setValue(value() - (ctrl ? m_Step * 10 : m_Step));
} }
ke->accept();
} }
else else
QSpinBox::keyPressEvent(ke); QSpinBox::keyPressEvent(ke);

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
fractorium (1.0.0.12-0ubuntu1) cosmic; urgency=low
* release 1.0.0.12
-- Matt Feemster <matt.feemster@gmail.com> Sun, 30 Sep 2018 10:35:26 -0700
fractorium (1.0.0.11d-0ubuntu1) cosmic; urgency=low fractorium (1.0.0.11d-0ubuntu1) cosmic; urgency=low
* release 1.0.0.11 * release 1.0.0.11

View File

@ -14,7 +14,7 @@ REM libjpeg
copy fractorium\Builds\MSVC\WIN32.MAK libjpeg copy fractorium\Builds\MSVC\WIN32.MAK libjpeg
cd libjpeg cd libjpeg
nmake /f makefile.vc setup-v15 CPU=i386 nmake /f makefile.vc setup-v15 CPU=i386
nmake nodebug=1 /f makefile.vc all CPU=i386 nmake nodebug=1 /f makefile.vc libjpeg.lib CPU=i386
copy libjpeg.lib ..\fractorium\Deps copy libjpeg.lib ..\fractorium\Deps
cd .. cd ..