mirror of
https://bitbucket.org/mfeemster/fractorium.git
synced 2025-02-01 10:30:08 -05:00
--Bug fixes:
-Fix path bugs when creating dialogs on Mac. -Add new setting for path when creating palette from image.
This commit is contained in:
parent
2f54215e65
commit
2773ef27f7
@ -417,9 +417,6 @@
|
|||||||
<CustomBuild Include="..\..\..\Source\Fractorium\GLWidget.h">
|
<CustomBuild Include="..\..\..\Source\Fractorium\GLWidget.h">
|
||||||
<Filter>MainWindows</Filter>
|
<Filter>MainWindows</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
<CustomBuild Include="..\..\..\Source\Fractorium\Fractorium.h">
|
|
||||||
<Filter>MainWindows</Filter>
|
|
||||||
</CustomBuild>
|
|
||||||
<CustomBuild Include="..\..\..\Source\Fractorium\EmberTreeWidgetItem.h">
|
<CustomBuild Include="..\..\..\Source\Fractorium\EmberTreeWidgetItem.h">
|
||||||
<Filter>Widgets</Filter>
|
<Filter>Widgets</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
@ -477,6 +474,9 @@
|
|||||||
<CustomBuild Include="..\..\..\Source\Fractorium\paletteeditor.ui">
|
<CustomBuild Include="..\..\..\Source\Fractorium\paletteeditor.ui">
|
||||||
<Filter>Form Files</Filter>
|
<Filter>Form Files</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\Fractorium.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</CustomBuild>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\..\Source\Fractorium\Icons\Fractorium.ico" />
|
<None Include="..\..\..\Source\Fractorium\Icons\Fractorium.ico" />
|
||||||
|
@ -51,8 +51,6 @@ Fractorium::Fractorium(QWidget* p)
|
|||||||
#endif
|
#endif
|
||||||
m_Settings = FractoriumSettings::Instance();
|
m_Settings = FractoriumSettings::Instance();
|
||||||
m_QssDialog = new QssDialog(this);
|
m_QssDialog = new QssDialog(this);
|
||||||
m_FileDialog = nullptr;//Use lazy instantiation upon first use.
|
|
||||||
m_FolderDialog = nullptr;
|
|
||||||
m_FinalRenderDialog = new FractoriumFinalRenderDialog(this);
|
m_FinalRenderDialog = new FractoriumFinalRenderDialog(this);
|
||||||
m_OptionsDialog = new FractoriumOptionsDialog(this);
|
m_OptionsDialog = new FractoriumOptionsDialog(this);
|
||||||
m_VarDialog = new FractoriumVariationsDialog(this);
|
m_VarDialog = new FractoriumVariationsDialog(this);
|
||||||
@ -509,6 +507,8 @@ void Fractorium::SetFixedTableHeader(QHeaderView* header, QHeaderView::ResizeMod
|
|||||||
/// <returns>The filename selected</returns>
|
/// <returns>The filename selected</returns>
|
||||||
QStringList Fractorium::SetupOpenXmlDialog()
|
QStringList Fractorium::SetupOpenXmlDialog()
|
||||||
{
|
{
|
||||||
|
#ifndef __APPLE__
|
||||||
|
|
||||||
//Lazy instantiate since it takes a long time.
|
//Lazy instantiate since it takes a long time.
|
||||||
if (!m_FileDialog)
|
if (!m_FileDialog)
|
||||||
{
|
{
|
||||||
@ -534,6 +534,15 @@ QStringList Fractorium::SetupOpenXmlDialog()
|
|||||||
m_Settings->OpenFolder(QFileInfo(filenames[0]).canonicalPath());
|
m_Settings->OpenFolder(QFileInfo(filenames[0]).canonicalPath());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
auto defaultFilter(m_Settings->OpenXmlExt());
|
||||||
|
auto filenames = QFileDialog::getOpenFileNames(this, tr("Open Flame"), m_Settings->OpenFolder(), tr("Flame Files (*.flam3 *.flame *.xml)"), &defaultFilter);
|
||||||
|
m_Settings->OpenXmlExt(defaultFilter);
|
||||||
|
|
||||||
|
if (!filenames.empty())
|
||||||
|
m_Settings->OpenFolder(QFileInfo(filenames[0]).canonicalPath());
|
||||||
|
|
||||||
|
#endif
|
||||||
return filenames;
|
return filenames;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -545,6 +554,8 @@ QStringList Fractorium::SetupOpenXmlDialog()
|
|||||||
/// <returns>The filename selected</returns>
|
/// <returns>The filename selected</returns>
|
||||||
QString Fractorium::SetupSaveXmlDialog(const QString& defaultFilename)
|
QString Fractorium::SetupSaveXmlDialog(const QString& defaultFilename)
|
||||||
{
|
{
|
||||||
|
#ifndef __APPLE__
|
||||||
|
|
||||||
//Lazy instantiate since it takes a long time.
|
//Lazy instantiate since it takes a long time.
|
||||||
//QS
|
//QS
|
||||||
if (!m_FileDialog)
|
if (!m_FileDialog)
|
||||||
@ -553,9 +564,6 @@ QString Fractorium::SetupSaveXmlDialog(const QString& defaultFilename)
|
|||||||
m_FileDialog->setViewMode(QFileDialog::List);
|
m_FileDialog->setViewMode(QFileDialog::List);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!m_FileDialog)
|
|
||||||
return "";
|
|
||||||
|
|
||||||
QString filename;
|
QString filename;
|
||||||
m_FileDialog->disconnect(SIGNAL(filterSelected(const QString&)));
|
m_FileDialog->disconnect(SIGNAL(filterSelected(const QString&)));
|
||||||
connect(m_FileDialog, &QFileDialog::filterSelected, [&](const QString & filter) { m_Settings->SaveXmlExt(filter); });
|
connect(m_FileDialog, &QFileDialog::filterSelected, [&](const QString & filter) { m_Settings->SaveXmlExt(filter); });
|
||||||
@ -583,6 +591,11 @@ QString Fractorium::SetupSaveXmlDialog(const QString& defaultFilename)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
auto defaultFilter(m_Settings->SaveXmlExt());
|
||||||
|
auto filename = QFileDialog::getSaveFileName(this, tr("Save flame as xml"), m_Settings->SaveFolder() + "/" + defaultFilename, tr("Flam3 (*.flam3);;Flame (*.flame);;Xml (*.xml)"), &defaultFilter);
|
||||||
|
m_Settings->SaveXmlExt(defaultFilter);
|
||||||
|
#endif
|
||||||
return filename;
|
return filename;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -594,6 +607,8 @@ QString Fractorium::SetupSaveXmlDialog(const QString& defaultFilename)
|
|||||||
/// <returns>The filename selected</returns>
|
/// <returns>The filename selected</returns>
|
||||||
QString Fractorium::SetupSaveImageDialog(const QString& defaultFilename)
|
QString Fractorium::SetupSaveImageDialog(const QString& defaultFilename)
|
||||||
{
|
{
|
||||||
|
#ifndef __APPLE__
|
||||||
|
|
||||||
//Lazy instantiate since it takes a long time.
|
//Lazy instantiate since it takes a long time.
|
||||||
if (!m_FileDialog)
|
if (!m_FileDialog)
|
||||||
{
|
{
|
||||||
@ -601,9 +616,6 @@ QString Fractorium::SetupSaveImageDialog(const QString& defaultFilename)
|
|||||||
m_FileDialog->setViewMode(QFileDialog::List);
|
m_FileDialog->setViewMode(QFileDialog::List);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!m_FileDialog)
|
|
||||||
return "";
|
|
||||||
|
|
||||||
QString filename;
|
QString filename;
|
||||||
m_FileDialog->disconnect(SIGNAL(filterSelected(const QString&)));
|
m_FileDialog->disconnect(SIGNAL(filterSelected(const QString&)));
|
||||||
connect(m_FileDialog, &QFileDialog::filterSelected, [&](const QString & filter) { m_Settings->SaveImageExt(filter); });
|
connect(m_FileDialog, &QFileDialog::filterSelected, [&](const QString & filter) { m_Settings->SaveImageExt(filter); });
|
||||||
@ -622,6 +634,11 @@ QString Fractorium::SetupSaveImageDialog(const QString& defaultFilename)
|
|||||||
if (m_FileDialog->exec() == QDialog::Accepted)
|
if (m_FileDialog->exec() == QDialog::Accepted)
|
||||||
filename = m_FileDialog->selectedFiles().value(0);
|
filename = m_FileDialog->selectedFiles().value(0);
|
||||||
|
|
||||||
|
#else
|
||||||
|
auto defaultFilter(m_Settings->SaveImageExt());
|
||||||
|
auto filename = QFileDialog::getSaveFileName(this, tr("Save image"), m_Settings->SaveFolder() + "/" + defaultFilename, tr("Jpeg (*.jpg);;Png (*.png);;Bmp (*.bmp)"));
|
||||||
|
m_Settings->SaveImageExt(defaultFilter);
|
||||||
|
#endif
|
||||||
return filename;
|
return filename;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -632,6 +649,8 @@ QString Fractorium::SetupSaveImageDialog(const QString& defaultFilename)
|
|||||||
/// <returns>The folder selected, with '/' appended to the end</returns>
|
/// <returns>The folder selected, with '/' appended to the end</returns>
|
||||||
QString Fractorium::SetupSaveFolderDialog()
|
QString Fractorium::SetupSaveFolderDialog()
|
||||||
{
|
{
|
||||||
|
#ifndef __APPLE__
|
||||||
|
|
||||||
//Lazy instantiate since it takes a long time.
|
//Lazy instantiate since it takes a long time.
|
||||||
if (!m_FolderDialog)
|
if (!m_FolderDialog)
|
||||||
{
|
{
|
||||||
@ -639,9 +658,6 @@ QString Fractorium::SetupSaveFolderDialog()
|
|||||||
m_FolderDialog->setViewMode(QFileDialog::List);
|
m_FolderDialog->setViewMode(QFileDialog::List);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!m_FolderDialog)
|
|
||||||
return "";
|
|
||||||
|
|
||||||
QString filename;
|
QString filename;
|
||||||
//This must come first because it clears various internal states which allow the file text to be properly set.
|
//This must come first because it clears various internal states which allow the file text to be properly set.
|
||||||
//This is most likely a bug in QFileDialog.
|
//This is most likely a bug in QFileDialog.
|
||||||
@ -658,6 +674,15 @@ QString Fractorium::SetupSaveFolderDialog()
|
|||||||
filename = MakeEnd(m_FolderDialog->selectedFiles().value(0), '/');
|
filename = MakeEnd(m_FolderDialog->selectedFiles().value(0), '/');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
auto filename = QFileDialog::getExistingDirectory(this, tr("Save to folder"),
|
||||||
|
m_Settings->SaveFolder(),
|
||||||
|
QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
|
||||||
|
|
||||||
|
if (filename.size() > 0)
|
||||||
|
filename = MakeEnd(filename, '/');
|
||||||
|
|
||||||
|
#endif
|
||||||
return filename;
|
return filename;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -530,8 +530,10 @@ private:
|
|||||||
QTableWidgetItem* m_InfoFinalXformItem;
|
QTableWidgetItem* m_InfoFinalXformItem;
|
||||||
|
|
||||||
//Files.
|
//Files.
|
||||||
|
#ifndef __APPLE__
|
||||||
QFileDialog* m_FileDialog = nullptr;
|
QFileDialog* m_FileDialog = nullptr;
|
||||||
QFileDialog* m_FolderDialog = nullptr;
|
QFileDialog* m_FolderDialog = nullptr;
|
||||||
|
#endif
|
||||||
QssDialog* m_QssDialog = nullptr;
|
QssDialog* m_QssDialog = nullptr;
|
||||||
QString m_LastSaveAll;
|
QString m_LastSaveAll;
|
||||||
QString m_LastSaveCurrent;
|
QString m_LastSaveCurrent;
|
||||||
|
@ -75,7 +75,7 @@ void FractoriumSettings::EnsureDefaults()
|
|||||||
if (FinalExt() != "jpg" && FinalExt() != "png")
|
if (FinalExt() != "jpg" && FinalExt() != "png")
|
||||||
FinalExt("png");
|
FinalExt("png");
|
||||||
|
|
||||||
QString s = SaveFolder();
|
auto s = SaveFolder();
|
||||||
QDir dir(s);
|
QDir dir(s);
|
||||||
|
|
||||||
if (s.isEmpty() || !dir.exists())
|
if (s.isEmpty() || !dir.exists())
|
||||||
@ -85,6 +85,9 @@ void FractoriumSettings::EnsureDefaults()
|
|||||||
if (!paths.empty())
|
if (!paths.empty())
|
||||||
SaveFolder(paths[0]);
|
SaveFolder(paths[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (OpenPaletteImageFolder() == "")
|
||||||
|
OpenPaletteImageFolder(QCoreApplication::applicationDirPath());
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -285,6 +288,9 @@ void FractoriumSettings::Nick(const QString& s) { setValue(IDENTITYNICK, s);
|
|||||||
QString FractoriumSettings::OpenFolder() { return value(OPENFOLDER).toString(); }
|
QString FractoriumSettings::OpenFolder() { return value(OPENFOLDER).toString(); }
|
||||||
void FractoriumSettings::OpenFolder(const QString& s) { setValue(OPENFOLDER, s); }
|
void FractoriumSettings::OpenFolder(const QString& s) { setValue(OPENFOLDER, s); }
|
||||||
|
|
||||||
|
QString FractoriumSettings::OpenPaletteImageFolder() { return value(OPENPALETTEIMAGEFOLDER).toString(); }
|
||||||
|
void FractoriumSettings::OpenPaletteImageFolder(const QString& s) { setValue(OPENPALETTEIMAGEFOLDER, s); }
|
||||||
|
|
||||||
QString FractoriumSettings::SaveFolder() { return value(SAVEFOLDER).toString(); }
|
QString FractoriumSettings::SaveFolder() { return value(SAVEFOLDER).toString(); }
|
||||||
void FractoriumSettings::SaveFolder(const QString& s) { setValue(SAVEFOLDER, s); }
|
void FractoriumSettings::SaveFolder(const QString& s) { setValue(SAVEFOLDER, s); }
|
||||||
|
|
||||||
|
@ -67,8 +67,9 @@
|
|||||||
#define XMLQUALITY "xml/quality"
|
#define XMLQUALITY "xml/quality"
|
||||||
#define XMLSUPERSAMPLE "xml/supersample"
|
#define XMLSUPERSAMPLE "xml/supersample"
|
||||||
|
|
||||||
#define OPENFOLDER "path/open"
|
#define OPENFOLDER "path/open"
|
||||||
#define SAVEFOLDER "path/save"
|
#define OPENPALETTEIMAGEFOLDER "path/openpaletteimage"
|
||||||
|
#define SAVEFOLDER "path/save"
|
||||||
|
|
||||||
#define OPENXMLEXT "file/openxmlext"
|
#define OPENXMLEXT "file/openxmlext"
|
||||||
#define SAVEXMLEXT "file/savexmlext"
|
#define SAVEXMLEXT "file/savexmlext"
|
||||||
@ -261,6 +262,9 @@ public:
|
|||||||
QString OpenFolder();
|
QString OpenFolder();
|
||||||
void OpenFolder(const QString& s);
|
void OpenFolder(const QString& s);
|
||||||
|
|
||||||
|
QString OpenPaletteImageFolder();
|
||||||
|
void OpenPaletteImageFolder(const QString& s);
|
||||||
|
|
||||||
QString SaveFolder();
|
QString SaveFolder();
|
||||||
void SaveFolder(const QString& s);
|
void SaveFolder(const QString& s);
|
||||||
|
|
||||||
|
@ -425,6 +425,10 @@ void PaletteEditor::EmitPaletteChanged()
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
QStringList PaletteEditor::SetupOpenImagesDialog()
|
QStringList PaletteEditor::SetupOpenImagesDialog()
|
||||||
{
|
{
|
||||||
|
QStringList filenames;
|
||||||
|
auto settings = FractoriumSettings::Instance();
|
||||||
|
#ifndef __APPLE__
|
||||||
|
|
||||||
if (!m_FileDialog)
|
if (!m_FileDialog)
|
||||||
{
|
{
|
||||||
m_FileDialog = new QFileDialog(this);
|
m_FileDialog = new QFileDialog(this);
|
||||||
@ -433,20 +437,33 @@ QStringList PaletteEditor::SetupOpenImagesDialog()
|
|||||||
m_FileDialog->setAcceptMode(QFileDialog::AcceptOpen);
|
m_FileDialog->setAcceptMode(QFileDialog::AcceptOpen);
|
||||||
m_FileDialog->setNameFilter("Image Files (*.png *.jpg *.bmp)");
|
m_FileDialog->setNameFilter("Image Files (*.png *.jpg *.bmp)");
|
||||||
m_FileDialog->setWindowTitle("Open Image");
|
m_FileDialog->setWindowTitle("Open Image");
|
||||||
m_FileDialog->setDirectory(QCoreApplication::applicationDirPath());
|
m_FileDialog->setDirectory(settings->OpenPaletteImageFolder());
|
||||||
m_FileDialog->selectNameFilter("*.jpg");
|
m_FileDialog->selectNameFilter("*.jpg");
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList filenames;
|
|
||||||
|
|
||||||
if (m_FileDialog->exec() == QDialog::Accepted)
|
if (m_FileDialog->exec() == QDialog::Accepted)
|
||||||
{
|
{
|
||||||
filenames = m_FileDialog->selectedFiles();
|
filenames = m_FileDialog->selectedFiles();
|
||||||
|
|
||||||
if (!filenames.empty())
|
if (!filenames.empty())
|
||||||
m_FileDialog->setDirectory(QFileInfo(filenames[0]).canonicalPath());
|
{
|
||||||
|
auto path = QFileInfo(filenames[0]).canonicalPath();
|
||||||
|
m_FileDialog->setDirectory(path);
|
||||||
|
settings->OpenPaletteImageFolder(path);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
auto filename = QFileDialog::getOpenFileName(this, tr("Open Image"), settings->OpenPaletteImageFolder(), tr("Image Files (*.png *.jpg *.bmp)"));
|
||||||
|
|
||||||
|
if (filename.size() > 0)
|
||||||
|
{
|
||||||
|
filenames.append(filename);
|
||||||
|
auto path = QFileInfo(filenames[0]).canonicalPath();
|
||||||
|
settings->OpenPaletteImageFolder(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
return filenames;
|
return filenames;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,7 +72,9 @@ private:
|
|||||||
string m_CurrentPaletteFilePath;
|
string m_CurrentPaletteFilePath;
|
||||||
ColorPickerWidget* m_ColorPicker = nullptr;
|
ColorPickerWidget* m_ColorPicker = nullptr;
|
||||||
GradientColorsView* m_GradientColorView = nullptr;
|
GradientColorsView* m_GradientColorView = nullptr;
|
||||||
|
#ifndef __APPLE__
|
||||||
QFileDialog* m_FileDialog = nullptr;
|
QFileDialog* m_FileDialog = nullptr;
|
||||||
|
#endif
|
||||||
shared_ptr<PaletteList<float>> m_PaletteList;
|
shared_ptr<PaletteList<float>> m_PaletteList;
|
||||||
std::unique_ptr<Ui::PaletteEditor> ui;
|
std::unique_ptr<Ui::PaletteEditor> ui;
|
||||||
};
|
};
|
||||||
|
@ -44,9 +44,7 @@ bool CaseInsensitiveLessThanQ(const QString& s1, const QString& s2)
|
|||||||
QssDialog::QssDialog(Fractorium* parent) :
|
QssDialog::QssDialog(Fractorium* parent) :
|
||||||
QDialog(parent),
|
QDialog(parent),
|
||||||
ui(new Ui::QssDialog),
|
ui(new Ui::QssDialog),
|
||||||
m_FileDialog(nullptr),
|
|
||||||
m_Parent(parent),
|
m_Parent(parent),
|
||||||
m_Theme(nullptr),
|
|
||||||
m_AddColorAction(new QAction(tr("Add Color"), this)),
|
m_AddColorAction(new QAction(tr("Add Color"), this)),
|
||||||
m_AddGeomAction(new QAction(tr("Add Geometry"), this)),
|
m_AddGeomAction(new QAction(tr("Add Geometry"), this)),
|
||||||
m_AddBorderAction(new QAction(tr("Add Border"), this)),
|
m_AddBorderAction(new QAction(tr("Add Border"), this)),
|
||||||
@ -631,13 +629,16 @@ void QssDialog::InsertCssProperty(const QString& name, const QString& value)
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
void QssDialog::SetupFileDialog()
|
void QssDialog::SetupFileDialog()
|
||||||
{
|
{
|
||||||
|
#ifndef __APPLE__
|
||||||
|
|
||||||
if (!m_FileDialog)
|
if (!m_FileDialog)
|
||||||
{
|
{
|
||||||
auto path = m_Parent->m_SettingsPath;
|
|
||||||
m_FileDialog = new QFileDialog(this);
|
m_FileDialog = new QFileDialog(this);
|
||||||
m_FileDialog->setDirectory(path);
|
m_FileDialog->setDirectory(m_Parent->m_SettingsPath);
|
||||||
m_FileDialog->setViewMode(QFileDialog::List);
|
m_FileDialog->setViewMode(QFileDialog::List);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -646,6 +647,7 @@ void QssDialog::SetupFileDialog()
|
|||||||
/// <returns>The file selected if any, else empty string.</returns>
|
/// <returns>The file selected if any, else empty string.</returns>
|
||||||
QString QssDialog::OpenFile()
|
QString QssDialog::OpenFile()
|
||||||
{
|
{
|
||||||
|
#ifndef __APPLE__
|
||||||
QStringList filenames;
|
QStringList filenames;
|
||||||
SetupFileDialog();
|
SetupFileDialog();
|
||||||
m_FileDialog->setFileMode(QFileDialog::ExistingFile);
|
m_FileDialog->setFileMode(QFileDialog::ExistingFile);
|
||||||
@ -658,6 +660,10 @@ QString QssDialog::OpenFile()
|
|||||||
filenames = m_FileDialog->selectedFiles();
|
filenames = m_FileDialog->selectedFiles();
|
||||||
|
|
||||||
return !filenames.empty() ? filenames[0] : "";
|
return !filenames.empty() ? filenames[0] : "";
|
||||||
|
#else
|
||||||
|
auto filename = QFileDialog::getOpenFileName(this, tr("Open Stylesheet"), m_Parent->m_SettingsPath, tr("Qss (*.qss)"));
|
||||||
|
return filename.size() > 0 ? filename : "";
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -666,6 +672,7 @@ QString QssDialog::OpenFile()
|
|||||||
/// <returns>The file selected for saving if any, else empty string.</returns>
|
/// <returns>The file selected for saving if any, else empty string.</returns>
|
||||||
QString QssDialog::SaveFile()
|
QString QssDialog::SaveFile()
|
||||||
{
|
{
|
||||||
|
#ifndef __APPLE__
|
||||||
QStringList filenames;
|
QStringList filenames;
|
||||||
SetupFileDialog();
|
SetupFileDialog();
|
||||||
m_FileDialog->setFileMode(QFileDialog::AnyFile);
|
m_FileDialog->setFileMode(QFileDialog::AnyFile);
|
||||||
@ -678,4 +685,8 @@ QString QssDialog::SaveFile()
|
|||||||
filenames = m_FileDialog->selectedFiles();
|
filenames = m_FileDialog->selectedFiles();
|
||||||
|
|
||||||
return !filenames.empty() ? filenames[0] : "";
|
return !filenames.empty() ? filenames[0] : "";
|
||||||
|
#else
|
||||||
|
auto filename = QFileDialog::getSaveFileName(this, tr("Save Stylesheet"), m_Parent->m_SettingsPath, tr("Qss (*.qss)"));
|
||||||
|
return filename.size() > 0 ? filename : "";
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -53,7 +53,7 @@
|
|||||||
|
|
||||||
namespace Ui
|
namespace Ui
|
||||||
{
|
{
|
||||||
class QssDialog;
|
class QssDialog;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -113,12 +113,12 @@ private slots:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void SaveAsDefault();
|
void SaveAsDefault();
|
||||||
void InsertCssProperty(const QString &name, const QString &value);
|
void InsertCssProperty(const QString& name, const QString& value);
|
||||||
void SetupFileDialog();
|
void SetupFileDialog();
|
||||||
QString OpenFile();
|
QString OpenFile();
|
||||||
QString SaveFile();
|
QString SaveFile();
|
||||||
|
|
||||||
QStyle* m_Theme;
|
QStyle* m_Theme = nullptr;
|
||||||
QStyle* m_LastTheme;
|
QStyle* m_LastTheme;
|
||||||
QString m_LastStyle;
|
QString m_LastStyle;
|
||||||
QAction* m_AddColorAction;
|
QAction* m_AddColorAction;
|
||||||
@ -136,6 +136,8 @@ private:
|
|||||||
QHash<QString, QString> m_StyleMap;
|
QHash<QString, QString> m_StyleMap;
|
||||||
QTimer* m_ApplyTimer;
|
QTimer* m_ApplyTimer;
|
||||||
Fractorium* m_Parent;
|
Fractorium* m_Parent;
|
||||||
QFileDialog* m_FileDialog;
|
#ifndef __APPLE__
|
||||||
Ui::QssDialog *ui;
|
QFileDialog* m_FileDialog = nullptr;
|
||||||
|
#endif
|
||||||
|
Ui::QssDialog* ui;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user