#include "Ukui5DetailSettingsItem.h"

#include <QHBoxLayout>

#include <kysdk/applications/accessinfohelper.h>

using namespace kdk;

Ukui5DetailSettings::Ukui5DetailSettings(QPushButton* btn, const QString& objName)
    : m_pSettingBtn(btn)
{
    KDK_EXTEND_ALL_INFO_FORMAT(m_pSettingBtn, "Audio", objName, "");
}

QWidget* Ukui5DetailSettings::getWidget()
{
    return m_pSettingBtn;
}

Ukui5DetailSettingsItem::Ukui5DetailSettingsItem(std::shared_ptr<IDetailSettings> setting, QLabel* label, QWidget* parent)
    : IDetailSettingsItem(setting, label), QFrame(parent)
{
    initUi();
}

void Ukui5DetailSettingsItem::initUi()
{
    setFixedHeight(60);

    m_pDisplayLabel->setFixedHeight(28);
    auto hLayout = new QHBoxLayout(this);
    hLayout->addItem(new QSpacerItem(16, 20, QSizePolicy::Fixed));
    hLayout->addWidget(m_pDisplayLabel);
    hLayout->addItem(new QSpacerItem(16, 20, QSizePolicy::Expanding));
    hLayout->addWidget(m_pDetailSettings->getWidget());
    hLayout->addItem(new QSpacerItem(16, 20, QSizePolicy::Fixed));
    hLayout->setSpacing(0);
    setLayout(hLayout);
    setFrameShape(QFrame::Shape::Box);
}

void Ukui5DetailSettingsItem::initSlots()
{

}

QWidget* Ukui5DetailSettingsItem::getWidget()
{
    return this;
}
