Merge branch 'WickedSmoke-kr'

master
Jeremy Hu 2019-12-30 07:47:04 +09:30
commit a35b98cf15
6 changed files with 57 additions and 13 deletions

View File

@ -67,3 +67,14 @@ Here is the snapshot of the command line of one build, you may use different def
$ qmake -qt=5 -makefile $ qmake -qt=5 -makefile
$ make $ make
$ ./dust3d $ ./dust3d
* Fedora
.. code-block:: sh
$ sudo dnf install qt5-qtbase-devel CGAL-devel
$ git clone https://github.com/huxingyi/dust3d.git
$ cd dust3d
$ qmake-qt5 -makefile
$ make
$ ./dust3d

View File

@ -6,6 +6,9 @@ RESOURCES += resources.qrc
LANGUAGES = zh_CN LANGUAGES = zh_CN
OBJECTS_DIR=obj
MOC_DIR=moc
############## Generate .qm from .ts ####################### ############## Generate .qm from .ts #######################
# parameters: var, prepend, append # parameters: var, prepend, append

View File

@ -506,6 +506,10 @@ DocumentWindow::DocumentWindow() :
m_fileMenu->addSeparator(); m_fileMenu->addSeparator();
m_quitAction = m_fileMenu->addAction(tr("&Quit"),
this, &DocumentWindow::close,
QKeySequence::Quit);
connect(m_fileMenu, &QMenu::aboutToShow, [=]() { connect(m_fileMenu, &QMenu::aboutToShow, [=]() {
m_exportAsObjAction->setEnabled(m_graphicsWidget->hasItems()); m_exportAsObjAction->setEnabled(m_graphicsWidget->hasItems());
//m_exportAsObjPlusMaterialsAction->setEnabled(m_graphicsWidget->hasItems()); //m_exportAsObjPlusMaterialsAction->setEnabled(m_graphicsWidget->hasItems());
@ -1174,26 +1178,38 @@ DocumentWindow *DocumentWindow::createDocumentWindow()
{ {
DocumentWindow *documentWindow = new DocumentWindow(); DocumentWindow *documentWindow = new DocumentWindow();
documentWindow->setAttribute(Qt::WA_DeleteOnClose); documentWindow->setAttribute(Qt::WA_DeleteOnClose);
documentWindow->showMaximized();
QSize size = Preferences::instance().documentWindowSize();
if (size.isValid()) {
documentWindow->resize(size);
documentWindow->show();
} else {
documentWindow->showMaximized();
}
return documentWindow; return documentWindow;
} }
void DocumentWindow::closeEvent(QCloseEvent *event) void DocumentWindow::closeEvent(QCloseEvent *event)
{ {
if (m_documentSaved) { if (! m_documentSaved) {
event->accept(); QMessageBox::StandardButton answer = QMessageBox::question(this,
return; APP_NAME,
tr("Do you really want to close while there are unsaved changes?"),
QMessageBox::Yes | QMessageBox::No,
QMessageBox::No);
if (answer == QMessageBox::No) {
event->ignore();
return;
}
} }
QMessageBox::StandardButton answer = QMessageBox::question(this, QSize saveSize;
APP_NAME, if (!isMaximized())
tr("Do you really want to close while there are unsaved changes?"), saveSize = size();
QMessageBox::Yes | QMessageBox::No, Preferences::instance().setDocumentWindowSize(saveSize);
QMessageBox::No);
if (answer == QMessageBox::Yes) event->accept();
event->accept();
else
event->ignore();
} }
void DocumentWindow::setCurrentFilename(const QString &filename) void DocumentWindow::setCurrentFilename(const QString &filename)

View File

@ -118,6 +118,7 @@ private:
QAction *m_showPreferencesAction; QAction *m_showPreferencesAction;
QMenu *m_exportMenu; QMenu *m_exportMenu;
QAction *m_changeTurnaroundAction; QAction *m_changeTurnaroundAction;
QAction *m_quitAction;
QAction *m_exportAsObjAction; QAction *m_exportAsObjAction;
QAction *m_exportAsObjPlusMaterialsAction; QAction *m_exportAsObjPlusMaterialsAction;

View File

@ -81,6 +81,16 @@ void Preferences::setFlatShading(bool flatShading)
emit flatShadingChanged(); emit flatShadingChanged();
} }
QSize Preferences::documentWindowSize() const
{
return m_settings.value("documentWindowSize", QSize()).toSize();
}
void Preferences::setDocumentWindowSize(const QSize& size)
{
m_settings.setValue("documentWindowSize", size);
}
void Preferences::reset() void Preferences::reset()
{ {
m_settings.clear(); m_settings.clear();

View File

@ -2,6 +2,7 @@
#define PREFERENCES_H #define PREFERENCES_H
#include <QSettings> #include <QSettings>
#include <QColor> #include <QColor>
#include <QSize>
#include "combinemode.h" #include "combinemode.h"
class Preferences : public QObject class Preferences : public QObject
@ -13,6 +14,8 @@ public:
CombineMode componentCombineMode() const; CombineMode componentCombineMode() const;
const QColor &partColor() const; const QColor &partColor() const;
bool flatShading() const; bool flatShading() const;
QSize documentWindowSize() const;
void setDocumentWindowSize(const QSize&);
signals: signals:
void componentCombineModeChanged(); void componentCombineModeChanged();
void partColorChanged(); void partColorChanged();