colordialogapi.cpp 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. #include "colordialogapi.h"
  2. #include <QTranslator>
  3. #include <QCoreApplication>
  4. #include "lhcolordialog.h"
  5. // EXPORT_DLL
  6. QColor getColor(QWidget* parent, ColorDlgSkin skin, const QString& qss,const QColor& initClr,
  7. const QList<QColor>& baseClrs, const QList<QColor>& customClrs)
  8. {
  9. QTranslator trans;
  10. trans.load(":/qt_zh_CN.qm");
  11. QCoreApplication::installTranslator(&trans);
  12. LHColorDialog* pColorDlg = new LHColorDialog(static_cast<Skin>(skin), qss, initClr, parent);
  13. if (nullptr != pColorDlg) {
  14. for (int i = 0; i < baseClrs.count(); ++i) {
  15. pColorDlg->setStandardColor(i, baseClrs.at(i));
  16. }
  17. for (int j = 0; j < customClrs.count(); ++j) {
  18. pColorDlg->setCustomColor(j, customClrs.at(j));
  19. }
  20. if (QDialog::Accepted == pColorDlg->exec()) {
  21. QColor clr = pColorDlg->selectedColor();
  22. delete pColorDlg; pColorDlg = nullptr;
  23. return clr;
  24. }
  25. delete pColorDlg; pColorDlg = nullptr;
  26. }
  27. return QColor();
  28. }