ExportImageMenu.cpp 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #include "ExportImageMenu.h"
  2. #include "ui_ExportImageMenu.h"
  3. #include "ImageExport.h"
  4. #include <QIntValidator>
  5. #include <QFileDialog>
  6. ExportImageMenu::ExportImageMenu(QWidget *parent) :
  7. QWidget(parent),
  8. ui(new Ui::ExportImageMenu)
  9. {
  10. ui->setupUi(this);
  11. ui->maxIterTxt->setValidator(new QIntValidator(1, 1000000000, this));
  12. ui->widthTxt->setValidator(new QIntValidator(1, 10000000, this));
  13. ui->heightTxt->setValidator(new QIntValidator(1, 10000000, this));
  14. }
  15. ExportImageMenu::~ExportImageMenu()
  16. {
  17. delete ui;
  18. }
  19. int ExportImageMenu::getMaxIterations(void) const
  20. {
  21. return ui->maxIterTxt->text().toInt();
  22. }
  23. int ExportImageMenu::getWidth(void) const
  24. {
  25. return ui->widthTxt->text().toInt();
  26. }
  27. int ExportImageMenu::getHeight(void) const
  28. {
  29. return ui->heightTxt->text().toInt();
  30. }
  31. QString ExportImageMenu::getPath(void) const
  32. {
  33. return ui->pathTxt->text();
  34. }
  35. void ExportImageMenu::on_pathBtn_clicked()
  36. {
  37. std::string formatString = "";
  38. if (alm::supportsImageFormat(alm::ImageFormat::PNG)) {
  39. formatString += "PNG image (*.png);;";
  40. }
  41. if (alm::supportsImageFormat(alm::ImageFormat::JPEG)) {
  42. formatString += "JPEG image (*.jpg *.jpeg);;";
  43. }
  44. if (alm::supportsImageFormat(alm::ImageFormat::BMP)) {
  45. formatString += "BMP image (*.bmp *.dib);;";
  46. }
  47. if (!formatString.empty()) {
  48. formatString.erase(formatString.end() - 2, formatString.end());
  49. }
  50. QString saveAs = QFileDialog::getSaveFileName(this,
  51. tr("Save exported image"), "",
  52. tr(formatString.c_str()));
  53. if(!saveAs.isEmpty() && !saveAs.isNull())
  54. ui->pathTxt->setText(saveAs);
  55. }