/********************************************************************************
** Form generated from reading UI file 'color_quantization_dialog.ui'
**
** Created by: Qt User Interface Compiler version 6.10.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_COLOR_QUANTIZATION_DIALOG_H
#define UI_COLOR_QUANTIZATION_DIALOG_H

#include <QtCore/QVariant>
#include <QtGui/QIcon>
#include <QtWidgets/QAbstractButton>
#include <QtWidgets/QApplication>
#include <QtWidgets/QComboBox>
#include <QtWidgets/QDialog>
#include <QtWidgets/QDialogButtonBox>
#include <QtWidgets/QDoubleSpinBox>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QPlainTextEdit>
#include <QtWidgets/QSpinBox>
#include <QtWidgets/QStackedWidget>
#include <QtWidgets/QTextEdit>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>
#include <klocalizedstring.h>

QT_BEGIN_NAMESPACE

class Ui_ColorQuantizationDialog
{
public:
    QVBoxLayout *verticalLayout;
    QHBoxLayout *horizontalLayout;
    QLabel *label;
    QComboBox *combo_algo;
    QStackedWidget *stackedWidget;
    QWidget *page;
    QGridLayout *gridLayout;
    QLabel *label_2;
    QLabel *label_3;
    QSpinBox *spin_means_iterations;
    QComboBox *combo_means_match;
    QTextEdit *textEdit;
    QWidget *page_2;
    QVBoxLayout *verticalLayout_2;
    QPlainTextEdit *plainTextEdit;
    QWidget *page_3;
    QGridLayout *gridLayout_2;
    QTextEdit *textEdit_2;
    QWidget *page_4;
    QGridLayout *gridLayout_3;
    QLabel *label_4;
    QTextEdit *textEdit_3;
    QDoubleSpinBox *spin_eem_min_frequency;
    QDialogButtonBox *buttonBox;

    void setupUi(QDialog *ColorQuantizationDialog)
    {
        if (ColorQuantizationDialog->objectName().isEmpty())
            ColorQuantizationDialog->setObjectName("ColorQuantizationDialog");
        ColorQuantizationDialog->resize(552, 463);
        QIcon icon;
        QString iconThemeName = QString::fromUtf8("settings-configure");
        if (QIcon::hasThemeIcon(iconThemeName)) {
            icon = QIcon::fromTheme(iconThemeName);
        } else {
            icon.addFile(QString::fromUtf8("."), QSize(), QIcon::Mode::Normal, QIcon::State::Off);
        }
        ColorQuantizationDialog->setWindowIcon(icon);
        verticalLayout = new QVBoxLayout(ColorQuantizationDialog);
        verticalLayout->setObjectName("verticalLayout");
        horizontalLayout = new QHBoxLayout();
        horizontalLayout->setObjectName("horizontalLayout");
        label = new QLabel(ColorQuantizationDialog);
        label->setObjectName("label");

        horizontalLayout->addWidget(label);

        combo_algo = new QComboBox(ColorQuantizationDialog);
        combo_algo->addItem(QString());
        combo_algo->addItem(QString());
        combo_algo->addItem(QString());
        combo_algo->addItem(QString());
        combo_algo->setObjectName("combo_algo");

        horizontalLayout->addWidget(combo_algo);


        verticalLayout->addLayout(horizontalLayout);

        stackedWidget = new QStackedWidget(ColorQuantizationDialog);
        stackedWidget->setObjectName("stackedWidget");
        page = new QWidget();
        page->setObjectName("page");
        gridLayout = new QGridLayout(page);
        gridLayout->setObjectName("gridLayout");
        label_2 = new QLabel(page);
        label_2->setObjectName("label_2");

        gridLayout->addWidget(label_2, 0, 0, 1, 1);

        label_3 = new QLabel(page);
        label_3->setObjectName("label_3");

        gridLayout->addWidget(label_3, 1, 0, 1, 1);

        spin_means_iterations = new QSpinBox(page);
        spin_means_iterations->setObjectName("spin_means_iterations");
        spin_means_iterations->setMinimum(1);
        spin_means_iterations->setMaximum(9999);
        spin_means_iterations->setValue(100);

        gridLayout->addWidget(spin_means_iterations, 1, 1, 1, 1);

        combo_means_match = new QComboBox(page);
        combo_means_match->addItem(QString());
        combo_means_match->addItem(QString());
        combo_means_match->addItem(QString());
        combo_means_match->setObjectName("combo_means_match");

        gridLayout->addWidget(combo_means_match, 0, 1, 1, 1);

        textEdit = new QTextEdit(page);
        textEdit->setObjectName("textEdit");
        textEdit->setReadOnly(true);

        gridLayout->addWidget(textEdit, 2, 0, 1, 2);

        stackedWidget->addWidget(page);
        page_2 = new QWidget();
        page_2->setObjectName("page_2");
        verticalLayout_2 = new QVBoxLayout(page_2);
        verticalLayout_2->setObjectName("verticalLayout_2");
        plainTextEdit = new QPlainTextEdit(page_2);
        plainTextEdit->setObjectName("plainTextEdit");
        plainTextEdit->setReadOnly(true);

        verticalLayout_2->addWidget(plainTextEdit);

        stackedWidget->addWidget(page_2);
        page_3 = new QWidget();
        page_3->setObjectName("page_3");
        gridLayout_2 = new QGridLayout(page_3);
        gridLayout_2->setObjectName("gridLayout_2");
        textEdit_2 = new QTextEdit(page_3);
        textEdit_2->setObjectName("textEdit_2");
        textEdit_2->setReadOnly(true);

        gridLayout_2->addWidget(textEdit_2, 0, 0, 1, 2);

        stackedWidget->addWidget(page_3);
        page_4 = new QWidget();
        page_4->setObjectName("page_4");
        gridLayout_3 = new QGridLayout(page_4);
        gridLayout_3->setObjectName("gridLayout_3");
        label_4 = new QLabel(page_4);
        label_4->setObjectName("label_4");

        gridLayout_3->addWidget(label_4, 0, 0, 1, 1);

        textEdit_3 = new QTextEdit(page_4);
        textEdit_3->setObjectName("textEdit_3");
        textEdit_3->setReadOnly(true);

        gridLayout_3->addWidget(textEdit_3, 1, 0, 1, 2);

        spin_eem_min_frequency = new QDoubleSpinBox(page_4);
        spin_eem_min_frequency->setObjectName("spin_eem_min_frequency");
        spin_eem_min_frequency->setValue(0.050000000000000);

        gridLayout_3->addWidget(spin_eem_min_frequency, 0, 1, 1, 1);

        stackedWidget->addWidget(page_4);

        verticalLayout->addWidget(stackedWidget);

        buttonBox = new QDialogButtonBox(ColorQuantizationDialog);
        buttonBox->setObjectName("buttonBox");
        buttonBox->setStandardButtons(QDialogButtonBox::Ok);

        verticalLayout->addWidget(buttonBox);


        retranslateUi(ColorQuantizationDialog);
        QObject::connect(buttonBox, &QDialogButtonBox::accepted, ColorQuantizationDialog, qOverload<>(&QDialog::accept));
        QObject::connect(buttonBox, &QDialogButtonBox::rejected, ColorQuantizationDialog, qOverload<>(&QDialog::reject));
        QObject::connect(combo_algo, &QComboBox::currentIndexChanged, stackedWidget, &QStackedWidget::setCurrentIndex);

        combo_algo->setCurrentIndex(2);
        stackedWidget->setCurrentIndex(2);
        combo_means_match->setCurrentIndex(1);


        QMetaObject::connectSlotsByName(ColorQuantizationDialog);
    } // setupUi

    void retranslateUi(QDialog *ColorQuantizationDialog)
    {
        ColorQuantizationDialog->setWindowTitle(tr2i18n("Configure color detection", nullptr));
        label->setText(tr2i18n("Algorithm", nullptr));
        combo_algo->setItemText(0, tr2i18n("k-Means", nullptr));
        combo_algo->setItemText(1, tr2i18n("k-Modes", nullptr));
        combo_algo->setItemText(2, tr2i18n("Octree", nullptr));
        combo_algo->setItemText(3, tr2i18n("Edge Exclusion Modes", nullptr));

        label_2->setText(tr2i18n("Match", nullptr));
        label_3->setText(tr2i18n("Max Iterations", nullptr));
        combo_means_match->setItemText(0, tr2i18n("None", nullptr));
        combo_means_match->setItemText(1, tr2i18n("Most Frequent", nullptr));
        combo_means_match->setItemText(2, tr2i18n("Closest", nullptr));

        textEdit->setHtml(tr2i18n("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;\">\n"
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">k-Means divides the colors into clusters and refines the assignment at every iteration.</p>\n"
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p>\n"
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">This is the best option when tracing images with a lot of colors or shading.</p>\n"
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0p"
                        "x; -qt-block-indent:0; text-indent:0px;\"><br /></p>\n"
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">For pictures with a lot of colors increasing the number of iterations will yield better results but it might be slower.</p>\n"
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p>\n"
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">The <span style=\" font-style:italic;\">Match</span> option performs some post-processing:</p>\n"
"<ul style=\"margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;\"><li style=\"\" style=\" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-weight:600;\">None</span>: Don't perform any post-processing and return the "
                        "means (note this might result in colors not present in the original image)</li>\n"
"<li style=\"\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-weight:600;\">Closest</span>: Find the color in the original image that is the closest to the mean</li>\n"
"<li style=\"\" style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-weight:600;\">Most Frequent</span>: Find the color in the cluster that appears most often in the source image</li></ul></body></html>", nullptr));
        plainTextEdit->setPlainText(tr2i18n("k-Modes gives you the colors that appear most often in the source image.\n"
"\n"
"It's very fast but it does not give accurate colors for complex images.\n"
"\n"
"This is the best option when tracing images with flat colors.", nullptr));
        textEdit_2->setHtml(tr2i18n("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;\">\n"
"<p style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">The Octree algorithm merges similar colors from the bottom up.</p>\n"
"<p style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">It gives more accurate colors for complex images but it might result into colors that are not present in the source image.</p></body></html>", nullptr));
        label_4->setText(tr2i18n("Min Frequency", nullptr));
        textEdit_3->setHtml(tr2i18n("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;\">\n"
"<p style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Edge Exclusion Modes takes the most frequent color (mode) in the image, then excludes all pixels touching said area, then repeats the process until the appropriate number of colors has been found.</p>\n"
"<p style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">This approach removes anti-aliased edges but it might cause small details to not be detected.</p>\n"
"<p style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" "
                        "font-weight:600;\">Min Frequency</span> refers to the minimum amount of pixels that a color must have to be considered (as a percentage of the total number of pixels in the image).</p></body></html>", nullptr));
        spin_eem_min_frequency->setSuffix(tr2i18n("%", nullptr));
    } // retranslateUi

};

namespace Ui {
    class ColorQuantizationDialog: public Ui_ColorQuantizationDialog {};
} // namespace Ui

QT_END_NAMESPACE

#endif // COLOR_QUANTIZATION_DIALOG_H

