#include "colordialogapi.h"
#include <QTranslator>
#include <QCoreApplication>

#include "lhcolordialog.h"

// EXPORT_DLL
QColor getColor(QWidget* parent, ColorDlgSkin skin, const QString& qss,const QColor& initClr,
                const QList<QColor>& baseClrs, const QList<QColor>& customClrs)
{   
    QTranslator trans;
    trans.load(":/qt_zh_CN.qm");
    QCoreApplication::installTranslator(&trans);

    LHColorDialog* pColorDlg = new LHColorDialog(static_cast<Skin>(skin), qss, initClr, parent);
    if (nullptr != pColorDlg) {
        for (int i = 0; i < baseClrs.count(); ++i) {
            pColorDlg->setStandardColor(i, baseClrs.at(i));
        }
        for (int j = 0; j < customClrs.count(); ++j) {
            pColorDlg->setCustomColor(j, customClrs.at(j));
        }

        if (QDialog::Accepted == pColorDlg->exec()) {
            QColor clr = pColorDlg->selectedColor();
            delete pColorDlg; pColorDlg = nullptr;
            return clr;
        }
        delete pColorDlg; pColorDlg = nullptr;
    }
    return QColor();
}