mirror of https://github.com/vitalif/openscad
Allow the hiding of the opengl2.0 warning on startup.
There are two basic changes. The first is a checkbox within the warning screen that allows you to hide it on subsequent program boots. The second is a checkbox under Edit/Preferences/Advanced to show/hide the message.stl_dim
parent
8289982efc
commit
7d4ba81068
|
@ -40,6 +40,7 @@ Preferences::Preferences(QWidget *parent) : QMainWindow(parent)
|
|||
this->defaultmap["3dview/colorscheme"] = this->colorSchemeChooser->currentItem()->text();
|
||||
this->defaultmap["editor/fontfamily"] = this->fontChooser->currentText();
|
||||
this->defaultmap["editor/fontsize"] = this->fontSize->currentText().toUInt();
|
||||
this->defaultmap["editor/opengl20_warning_show"] = true;
|
||||
|
||||
// Toolbar
|
||||
QActionGroup *group = new QActionGroup(this);
|
||||
|
@ -97,7 +98,8 @@ Preferences::Preferences(QWidget *parent) : QMainWindow(parent)
|
|||
this, SLOT(fontFamilyChanged(const QString &)));
|
||||
connect(this->fontSize, SIGNAL(editTextChanged(const QString &)),
|
||||
this, SLOT(fontSizeChanged(const QString &)));
|
||||
|
||||
connect(this->OpenGL20WarningCheckbox, SIGNAL(clicked(bool)),
|
||||
this, SLOT(OpenGL20WarningChanged(bool)));
|
||||
updateGUI();
|
||||
}
|
||||
|
||||
|
@ -148,6 +150,13 @@ void Preferences::fontSizeChanged(const QString &size)
|
|||
emit fontChanged(getValue("editor/fontfamily").toString(), intsize);
|
||||
}
|
||||
|
||||
void
|
||||
Preferences::OpenGL20WarningChanged(bool state)
|
||||
{
|
||||
QSettings settings;
|
||||
settings.setValue("editor/opengl20_warning_show",state);
|
||||
}
|
||||
|
||||
void Preferences::keyPressEvent(QKeyEvent *e)
|
||||
{
|
||||
#ifdef Q_WS_MAC
|
||||
|
@ -185,6 +194,7 @@ QVariant Preferences::getValue(const QString &key) const
|
|||
|
||||
void Preferences::updateGUI()
|
||||
{
|
||||
QSettings settings;
|
||||
QList<QListWidgetItem *> found =
|
||||
this->colorSchemeChooser->findItems(getValue("3dview/colorscheme").toString(),
|
||||
Qt::MatchExactly);
|
||||
|
@ -204,6 +214,9 @@ void Preferences::updateGUI()
|
|||
else {
|
||||
this->fontSize->setEditText(fontsize);
|
||||
}
|
||||
|
||||
bool opengl20_warning_show = getValue("editor/opengl20_warning_show").toBool();
|
||||
this->OpenGL20WarningCheckbox->setChecked(opengl20_warning_show);
|
||||
}
|
||||
|
||||
void Preferences::apply() const
|
||||
|
@ -211,4 +224,3 @@ void Preferences::apply() const
|
|||
emit fontChanged(getValue("editor/fontfamily").toString(), getValue("editor/fontsize").toUInt());
|
||||
emit requestRedraw();
|
||||
}
|
||||
|
||||
|
|
|
@ -34,6 +34,7 @@ public slots:
|
|||
void colorSchemeChanged();
|
||||
void fontFamilyChanged(const QString &);
|
||||
void fontSizeChanged(const QString &);
|
||||
void OpenGL20WarningChanged(bool);
|
||||
|
||||
signals:
|
||||
void requestRedraw() const;
|
||||
|
|
|
@ -178,6 +178,15 @@
|
|||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="OpenGL20WarningCheckbox">
|
||||
<property name="text">
|
||||
<string>Show OpenGL 2.0 warning && rendering info</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
|
@ -186,64 +195,13 @@
|
|||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>120</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>advanced</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>120</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
|
|
|
@ -29,9 +29,15 @@
|
|||
|
||||
#include <QApplication>
|
||||
#include <QWheelEvent>
|
||||
#include <QCheckBox>
|
||||
#include <QDialogButtonBox>
|
||||
#include <QMouseEvent>
|
||||
#include <QMessageBox>
|
||||
#include <QPushButton>
|
||||
#include <QSettings>
|
||||
#include <QTimer>
|
||||
#include <QTextEdit>
|
||||
#include <QVBoxLayout>
|
||||
#include "mathc99.h"
|
||||
#include <stdio.h>
|
||||
|
||||
|
@ -180,14 +186,20 @@ void GLView::initializeGL()
|
|||
}
|
||||
} else {
|
||||
opencsg_support = false;
|
||||
QSettings settings;
|
||||
if (settings.value("editor/opengl20_warning_show").toBool()) {
|
||||
QTimer::singleShot(0, this, SLOT(display_opengl20_warning()));
|
||||
}
|
||||
}
|
||||
#endif /* ENABLE_OPENCSG */
|
||||
}
|
||||
|
||||
#ifdef ENABLE_OPENCSG
|
||||
void GLView::display_opengl20_warning()
|
||||
{
|
||||
// data
|
||||
QString title = QString("GLEW: GL_VERSION_2_0 is not supported!");
|
||||
|
||||
QString rendererinfo;
|
||||
rendererinfo.sprintf("GLEW version %s\n"
|
||||
"%s (%s)\n"
|
||||
|
@ -196,11 +208,43 @@ void GLView::display_opengl20_warning()
|
|||
glGetString(GL_RENDERER), glGetString(GL_VENDOR),
|
||||
glGetString(GL_VERSION));
|
||||
|
||||
QMessageBox::warning(NULL, "GLEW: GL_VERSION_2_0 is not supported!",
|
||||
QString("Warning: No support for OpenGL 2.0 found! OpenCSG View has been disabled.\n\n"
|
||||
QString message = QString("Warning: No support for OpenGL 2.0 found! OpenCSG View has been disabled.\n\n"
|
||||
"It is highly recommended to use OpenSCAD on a system with OpenGL 2.0 "
|
||||
"support. Please check if OpenGL 2.0 drivers are available for your "
|
||||
"graphics hardware.\n\n%1").arg(rendererinfo));
|
||||
"graphics hardware. Your renderer information is as follows:\n\n%1").arg(rendererinfo);
|
||||
|
||||
QString note = QString("Uncheck to hide this message in the future");
|
||||
|
||||
// presentation
|
||||
QDialog *dialog = new QDialog(this);
|
||||
dialog->setSizeGripEnabled(true);
|
||||
dialog->setWindowTitle(title);
|
||||
dialog->resize(500,300);
|
||||
|
||||
QVBoxLayout *layout = new QVBoxLayout(dialog);
|
||||
dialog->setLayout(layout);
|
||||
|
||||
QTextEdit *textEdit = new QTextEdit(dialog);
|
||||
textEdit->setPlainText(message);
|
||||
layout->addWidget(textEdit);
|
||||
|
||||
QCheckBox *checkbox = new QCheckBox(note,dialog);
|
||||
checkbox->setCheckState(Qt::Checked);
|
||||
layout->addWidget(checkbox);
|
||||
|
||||
QDialogButtonBox *buttonbox =
|
||||
new QDialogButtonBox( QDialogButtonBox::Ok, Qt::Horizontal,dialog);
|
||||
layout->addWidget(buttonbox);
|
||||
buttonbox->button(QDialogButtonBox::Ok)->setFocus();
|
||||
buttonbox->button(QDialogButtonBox::Ok)->setDefault(true);
|
||||
|
||||
// action
|
||||
connect(buttonbox, SIGNAL(accepted()), dialog, SLOT(accept()));
|
||||
connect(checkbox, SIGNAL(clicked(bool)),
|
||||
Preferences::inst()->OpenGL20WarningCheckbox, SLOT(setChecked(bool)));
|
||||
connect(checkbox, SIGNAL(clicked(bool)),
|
||||
Preferences::inst(), SLOT(OpenGL20WarningChanged(bool)));
|
||||
dialog->exec();
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue