32 #include "ui_autoexpandabledialog.h"
48 QLineEdit::EchoMode mode,
const QString &text,
49 bool *ok,
const bool excludeExtension, Qt::InputMethodHints inputMethodHints)
52 d.setWindowTitle(title);
53 d.
m_ui->textLabel->setText(label);
54 d.
m_ui->textEdit->setText(text);
55 d.
m_ui->textEdit->setEchoMode(mode);
56 d.
m_ui->textEdit->setInputMethodHints(inputMethodHints);
58 d.
m_ui->textEdit->selectAll();
62 if (!extension.isEmpty())
63 d.
m_ui->textEdit->setSelection(0, (text.length() - extension.length() - 1));
72 return d.
m_ui->textEdit->text();
78 QDialog::showEvent(
e);
82 int wd =
m_ui->textEdit->fontMetrics().horizontalAdvance(
m_ui->textEdit->text()) + 4;
84 if (!windowTitle().isEmpty())
88 int w = fontMetrics().horizontalAdvance(windowTitle()) * 1.8;
92 if (!
m_ui->textLabel->text().isEmpty())
94 int w =
m_ui->textLabel->fontMetrics().horizontalAdvance(
m_ui->textLabel->text());
103 QSize size = {width() -
m_ui->verticalLayout->sizeHint().width() + wd, height()};
void showEvent(QShowEvent *e) override
AutoExpandableDialog(QWidget *parent)
static QString getText(QWidget *parent, const QString &title, const QString &label, QLineEdit::EchoMode mode=QLineEdit::Normal, const QString &text={}, bool *ok=nullptr, bool excludeExtension=false, Qt::InputMethodHints inputMethodHints=Qt::ImhNone)
Ui::AutoExpandableDialog * m_ui
QString fileExtension(const QString &filename)
void resize(QWidget *widget, const QSize &newSize={})