#include <QtGui>
#include
"finddialog.h"
FindDialog::FindDialog(QWidget *parent)
: QDialog(parent)
{
label =
new
QLabel(tr(
"Find &what:"
));
lineEdit =
new
QLineEdit;
label->setBuddy(lineEdit);
caseCheckBox =
new
QCheckBox(tr(
"Match &case"
));
backwardCheckBox =
new
QCheckBox(tr(
"Search &backford"
));
findButton =
new
QPushButton(tr(
"&Find"
));
findButton->setDefault(
true
);
findButton->setEnabled(
false
);
closeButton =
new
QPushButton(tr(
"Close"
));
connect(lineEdit, SIGNAL(textChanged(
const
QString&)),
this
, SLOT(enableFindButton(
const
QString&)));
connect(findButton, SIGNAL(clicked()),
this
, SLOT(findClicked()));
connect(closeButton, SIGNAL(clicked()),
this
, SLOT(close()));
QHBoxLayout *topLeftLayout =
new
QHBoxLayout;
topLeftLayout->addWidget(label);
topLeftLayout->addWidget(lineEdit);
QVBoxLayout *leftLayout =
new
QVBoxLayout;
leftLayout->addLayout(topLeftLayout);
leftLayout->addWidget(caseCheckBox);
leftLayout->addWidget(backwardCheckBox);
QVBoxLayout *rightLayout =
new
QVBoxLayout;
rightLayout->addWidget(findButton);
rightLayout->addWidget(closeButton);
rightLayout->addStretch();
QHBoxLayout *mainLayout =
new
QHBoxLayout;
mainLayout->addLayout(leftLayout);
mainLayout->addLayout(rightLayout);
setLayout(mainLayout);
setWindowTitle(tr(
"Find"
));
setFixedHeight(sizeHint().height());
}
FindDialog::~FindDialog()
{
}
void
FindDialog::findClicked()
{
QString text = lineEdit->text();
Qt::CaseSensitivity cs = caseCheckBox->isChecked() ? Qt::CaseInsensitive : Qt::CaseSensitive;
if
(backwardCheckBox->isChecked()) {
emit findPrevious(text, cs);
}
else
{
emit findNext(text, cs);
}
}
void
FindDialog::enableFindButton(
const
QString &text)
{
findButton->setEnabled(!text.isEmpty());
}
转载请注明原文地址: https://www.6miu.com/read-82777.html