From 1fb4e85f6255ab2ae5ce2bfab8d0f1e3782a2122 Mon Sep 17 00:00:00 2001 From: alemuntoni Date: Mon, 23 Nov 2020 10:49:52 +0100 Subject: [PATCH] new congrats dialog --- src/meshlab/CMakeLists.txt | 4 +- src/meshlab/dialogs/congrats_dialog.cpp | 48 ++++++++++++ src/meshlab/dialogs/congrats_dialog.h | 30 +++++++ src/meshlab/dialogs/congrats_dialog.ui | 99 ++++++++++++++++++++++++ src/meshlab/images/100mesh.html | 28 ------- src/meshlab/images/email-icon.png | Bin 0 -> 45610 bytes src/meshlab/images/github-icon.png | Bin 0 -> 10082 bytes src/meshlab/mainwindow_Init.cpp | 28 +------ src/meshlab/meshlab.pro | 8 +- src/meshlab/meshlab.qrc | 3 +- src/meshlab/ui/congratsDialog.ui | 92 ---------------------- 11 files changed, 191 insertions(+), 149 deletions(-) create mode 100644 src/meshlab/dialogs/congrats_dialog.cpp create mode 100644 src/meshlab/dialogs/congrats_dialog.h create mode 100644 src/meshlab/dialogs/congrats_dialog.ui delete mode 100644 src/meshlab/images/100mesh.html create mode 100644 src/meshlab/images/email-icon.png create mode 100644 src/meshlab/images/github-icon.png delete mode 100644 src/meshlab/ui/congratsDialog.ui diff --git a/src/meshlab/CMakeLists.txt b/src/meshlab/CMakeLists.txt index eb0e6daf3..80a21050b 100644 --- a/src/meshlab/CMakeLists.txt +++ b/src/meshlab/CMakeLists.txt @@ -23,6 +23,7 @@ set(SOURCES plugindialog.cpp saveSnapshotDialog.cpp savemaskexporter.cpp + dialogs/congrats_dialog.cpp rich_parameter_gui/richparameterlistdialog.cpp rich_parameter_gui/richparameterlistframe.cpp rich_parameter_gui/richparameterwidgets.cpp @@ -50,6 +51,7 @@ set(HEADERS saveSnapshotDialog.h savemaskexporter.h snapshotsetting.h + dialogs/congrats_dialog.h rich_parameter_gui/richparameterlistdialog.h rich_parameter_gui/richparameterlistframe.h rich_parameter_gui/richparameterwidgets.h @@ -62,8 +64,8 @@ set(HEADERS set(RESOURCES meshlab.qrc) set(UI + dialogs/congrats_dialog.ui ui/aboutDialog.ui - ui/congratsDialog.ui ui/filterScriptDialog.ui ui/filtercreatortab.ui ui/filtergui.ui diff --git a/src/meshlab/dialogs/congrats_dialog.cpp b/src/meshlab/dialogs/congrats_dialog.cpp new file mode 100644 index 000000000..28b3d95f6 --- /dev/null +++ b/src/meshlab/dialogs/congrats_dialog.cpp @@ -0,0 +1,48 @@ +#include "congrats_dialog.h" +#include "ui_congrats_dialog.h" + +#include + +#include +#include + +CongratsDialog::CongratsDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::CongratsDialog) +{ + ui->setupUi(this); +} + +CongratsDialog::~CongratsDialog() +{ + delete ui; +} + +void CongratsDialog::on_githubButton_clicked() +{ + QDesktopServices::openUrl(QUrl("https://github.com/cnr-isti-vclab/meshlab/discussions/new")); +} + +void CongratsDialog::on_emailButton_clicked() +{ + QDesktopServices::openUrl(QUrl("mailto:paolo.cignoni@isti.cnr.it;alessandro.muntoni@isti.cnr.it?subject=[MeshLab] Reporting Info on MeshLab Usage - V"+MeshLabApplication::appVer())); +} + +void CongratsDialog::on_closeButton_clicked() +{ + updateDontShowSetting(); + close(); +} + +void CongratsDialog::updateDontShowSetting() +{ + const QString dontRemindMeToSendEmailVar("dontRemindMeToSendEmail"); + QSettings settings; + //This preference values store when you did the last request for a mail + int congratsMeshCounter = settings.value("congratsMeshCounter", 50).toInt(); + settings.setValue("congratsMeshCounter", congratsMeshCounter * 2); + if (ui->dontShowCheckBox->isChecked()) + settings.setValue(dontRemindMeToSendEmailVar, true); + else + settings.setValue(dontRemindMeToSendEmailVar, false); +} diff --git a/src/meshlab/dialogs/congrats_dialog.h b/src/meshlab/dialogs/congrats_dialog.h new file mode 100644 index 000000000..e5127b6b7 --- /dev/null +++ b/src/meshlab/dialogs/congrats_dialog.h @@ -0,0 +1,30 @@ +#ifndef CONGRATS_DIALOG_H +#define CONGRATS_DIALOG_H + +#include + +namespace Ui { +class CongratsDialog; +} + +class CongratsDialog : public QDialog +{ + Q_OBJECT + +public: + explicit CongratsDialog(QWidget *parent = nullptr); + ~CongratsDialog(); + +private slots: + void on_githubButton_clicked(); + + void on_emailButton_clicked(); + + void on_closeButton_clicked(); + +private: + void updateDontShowSetting(); + Ui::CongratsDialog *ui; +}; + +#endif // CONGRATS_DIALOG_H diff --git a/src/meshlab/dialogs/congrats_dialog.ui b/src/meshlab/dialogs/congrats_dialog.ui new file mode 100644 index 000000000..4ad95278b --- /dev/null +++ b/src/meshlab/dialogs/congrats_dialog.ui @@ -0,0 +1,99 @@ + + + CongratsDialog + + + + 0 + 0 + 758 + 486 + + + + Dialog + + + + + + Close + + + + :/images/stop.png:/images/stop.png + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Send us an email + + + + :/images/email-icon.png:/images/email-icon.png + + + + + + + Share on GitHub + + + + :/images/github-icon.png:/images/github-icon.png + + + true + + + + + + + Don't show this message again. + + + + + + + QFrame::NoFrame + + + QFrame::Plain + + + Congratulations + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><title>Congratulations</title><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Sans'; font-size:18pt;">Congratulations! </span><br /><span style=" font-family:'Lucida Sans';"><br />You have successfully used MeshLab to open and process more than </span><span style=" font-family:'Lucida Sans'; font-style:italic;">one hundred meshes</span><span style=" font-family:'Lucida Sans';">!<br />We hope that this means that you have found MeshLab useful.<br /><br />Please consider to share your experience on GitHub, or to send a short email to the developers of MeshLab, describing how MeshLab fitted your needs. Attach some screenshots of your processed meshes and tell us your impression about MeshLab. <br /><br />MeshLab is developed on public funding and assessment of its impact on the whole community is necessary, so, </span><span style=" font-family:'Lucida Sans'; font-style:italic;">please</span><span style=" font-family:'Lucida Sans';">, spend a couple of minutes sharing your experience to us (or at least connect with the MeshLab FaceBook page).<br /><br />Thanks for using MeshLab<br /><br />Paolo Cignoni<br /><br /></span><a href="http://www.facebook.com/MeshLab"><img src=":images/facebook.gif" /></a><span style=" font-family:'Lucida Sans';"> </span></p></body></html> + + + + + + + + + + diff --git a/src/meshlab/images/100mesh.html b/src/meshlab/images/100mesh.html deleted file mode 100644 index 4b5742fc3..000000000 --- a/src/meshlab/images/100mesh.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - -
-
- - Congratulations! -
-
- You have successfully used MeshLab to open and process more than one hundred meshes!
- We hope that this means that you have found MeshLab useful.

- Please consider to send a short email to the developers of MeshLab, describing how MeshLab fitted your needs, - attach to the email some screenshots of your processed meshes and tell us your impression about MeshLab.
-
- MeshLab is developed on public funding and assessment of its impact on the whole community is necessary, so, - please, spend a couple of minutes writing down a mail to us - (or at least connect with the MeshLab FaceBook page).

- Thanks for using MeshLab
-
- Paolo Cignoni
-
- -
-
-
- - \ No newline at end of file diff --git a/src/meshlab/images/email-icon.png b/src/meshlab/images/email-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a6fabb6cf1d94cf8c978456e60f8e47681152c9 GIT binary patch literal 45610 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

5p|`lCQVL2fWomsoONMb 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 congratsMeshCounter) - { - QDialog *congratsDialog = new QDialog(); - Ui::CongratsDialog temp; - temp.setupUi(congratsDialog); - temp.buttonBox->addButton("Send Mail", QDialogButtonBox::AcceptRole); - - QCheckBox dontRemindMeCheckBox("Don't show this message again."); - dontRemindMeCheckBox.blockSignals(true); - temp.buttonBox->addButton(&dontRemindMeCheckBox, QDialogButtonBox::ActionRole); - - congratsDialog->exec(); - if (congratsDialog->result() == QDialog::Accepted) - QDesktopServices::openUrl(QUrl("mailto:paolo.cignoni@isti.cnr.it;alessandro.muntoni@isti.cnr.it?subject=[MeshLab] Reporting Info on MeshLab Usage - V"+MeshLabApplication::appVer())); - // This preference values store when you did the last request for a mail - settings.setValue("congratsMeshCounter", congratsMeshCounter * 2); - - // See if the user checked the box to not be reminded again - if (dontRemindMeCheckBox.checkState() == Qt::Checked) - settings.setValue(dontRemindMeToSendEmailVar, true); + if (loadedMeshCounter > congratsMeshCounter) { + CongratsDialog* congratsDialog = new CongratsDialog(this); + congratsDialog->show(); } } diff --git a/src/meshlab/meshlab.pro b/src/meshlab/meshlab.pro index e2da7a2d1..c52db8bec 100644 --- a/src/meshlab/meshlab.pro +++ b/src/meshlab/meshlab.pro @@ -16,7 +16,7 @@ INCLUDEPATH *= \ ../.. \ $$MESHLAB_EXTERNAL_DIRECTORY/easyexif \ $$VCGDIR \ - $$EIGENDIR + $$EIGENDIR !CONFIG(system_glew): INCLUDEPATH *= $$GLEWDIR/include @@ -28,6 +28,7 @@ DEPENDPATH += \ HEADERS += \ mainwindow.h \ glarea.h \ + dialogs/congrats_dialog.h \ meshlab_settings/meshlabsettingsdialog.h \ meshlab_settings/settingdialog.h \ multiViewer_Container.h \ @@ -56,6 +57,7 @@ SOURCES += \ mainwindow_Init.cpp \ mainwindow_RunTime.cpp \ glarea.cpp \ + dialogs/congrats_dialog.cpp \ meshlab_settings/meshlabsettingsdialog.cpp \ meshlab_settings/settingdialog.cpp \ multiViewer_Container.cpp \ @@ -76,16 +78,16 @@ SOURCES += \ glarea_setting.cpp \ rich_parameter_gui/richparameterlistdialog.cpp \ rich_parameter_gui/richparameterlistframe.cpp \ - rich_parameter_gui/richparameterwidgets.cpp + rich_parameter_gui/richparameterwidgets.cpp FORMS += \ + dialogs/congrats_dialog.ui \ ui/layerDialog.ui \ ui/filterScriptDialog.ui \ ui/savesnapshotDialog.ui \ ui/aboutDialog.ui \ ui/renametexture.ui \ ui/savemaskexporter.ui \ - ui/congratsDialog.ui \ ui/filtergui.ui RESOURCES += \ diff --git a/src/meshlab/meshlab.qrc b/src/meshlab/meshlab.qrc index 72f7122ca..476b9af90 100644 --- a/src/meshlab/meshlab.qrc +++ b/src/meshlab/meshlab.qrc @@ -32,7 +32,6 @@ images/layer_eye_close.png images/layer_edit_locked.png images/layer_edit_unlocked.png - images/100mesh.html images/facebook.gif images/onscreenHelp.txt images/splitV.png @@ -51,5 +50,7 @@ images/search.png images/dummy.png images/meshlabLogo_256x256.png + images/email-icon.png + images/github-icon.png diff --git a/src/meshlab/ui/congratsDialog.ui b/src/meshlab/ui/congratsDialog.ui deleted file mode 100644 index 7ca682e0e..000000000 --- a/src/meshlab/ui/congratsDialog.ui +++ /dev/null @@ -1,92 +0,0 @@ - - - CongratsDialog - - - Qt::ApplicationModal - - - - 0 - 0 - 641 - 449 - - - - - 0 - 0 - - - - MeshLab Congratulations! - - - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'.AppleSystemUIFont'; font-size:13pt; font-weight:400; font-style:normal;"> -<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Congratulations</span>! <br /><br />You have successfully used MeshLab to open and process more than one hundred meshes!<br />We hope that this means that you have found MeshLab useful.<br /><br />Please consider to send a short email to the developers of MeshLab, describing how MeshLab fitted your needs, attach to the email some screenshots of your processed meshes and tell us your impression about MeshLab. <br /><br />MeshLab is developed on public funding and assessment of its impact on the whole community is necessary, so, please, spend a couple of minutes writing down a mail to us (or at least connect with the MeshLab FaceBook page).<br /><br />Thanks for using MeshLab<br /><br />Paolo Cignoni<br /><br /><a href="http://www.facebook.com/MeshLab"><img src=":images/facebook.gif" /></a></p></body></html> - - - - qrc:/images/100mesh.html - - - - true - - - - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel - - - - - - - - - buttonBox - accepted() - CongratsDialog - accept() - - - 248 - 254 - - - 157 - 274 - - - - - buttonBox - rejected() - CongratsDialog - reject() - - - 316 - 260 - - - 286 - 274 - - - - -