#ifndef RENAMEWIDGET_H
#define RENAMEWIDGET_H

#include <QDialog>

class LineEdit;
class PushButton;

class QHBoxLayout;
class QVBoxLayout;
class QLabel;

class RenameWidget : public QDialog
{
    Q_OBJECT
public:
    explicit RenameWidget(QWidget *parent = nullptr);

    void clearInputs();

signals:
    void signalRename();

private:
    void initWindow();
    void initialize();
    void initLayout();
    void connectSignalsAndSlots();
    void updateRenameButtonState();

private slots:
    void slotTextChanged(const QString &text);
    void slotConfirmClicked();
    void slotCancelClicked();

private:
    QVBoxLayout *m_vBoxLayout = nullptr;

    QHBoxLayout *m_oldNameLayout = nullptr;
    QLabel *m_oldNameLabel       = nullptr;
    QLabel *m_oldNameValueLabel  = nullptr;

    LineEdit *m_nameLineEdit = nullptr;

    QHBoxLayout *m_buttonLayout = nullptr;
    PushButton *m_confirmButton = nullptr;
    PushButton *m_cancelButton  = nullptr;
};

#endif  // RENAMEWIDGET_H