insilmaril@370: #include insilmaril@370: #include insilmaril@364: #include insilmaril@0: insilmaril@0: #include "findwindow.h" insilmaril@0: insilmaril@0: insilmaril@403: extern QString vymName; insilmaril@403: insilmaril@370: FindWindow::FindWindow(QWidget* parent) insilmaril@370: : QGroupBox( tr("Find"), parent ) insilmaril@0: insilmaril@0: { insilmaril@403: setWindowTitle(vymName + " - " +tr("Find Text")); insilmaril@0: insilmaril@370: QVBoxLayout* mainLayout = new QVBoxLayout; insilmaril@370: insilmaril@370: QHBoxLayout *row1Layout = new QHBoxLayout; insilmaril@370: // Create a Label insilmaril@370: QLabel* label = new QLabel; insilmaril@370: label->setText( tr("Text to find:")); insilmaril@370: row1Layout->addWidget( label ); insilmaril@0: insilmaril@0: insilmaril@0: // Create LineEdit (here QComboBox) insilmaril@370: QHBoxLayout *row2Layout = new QHBoxLayout; insilmaril@370: findcombo = new QComboBox; insilmaril@0: findcombo->setMinimumWidth(150); insilmaril@370: findcombo->setEditable(true); insilmaril@0: connect ( findcombo, SIGNAL( highlighted(int) ), insilmaril@0: this, SLOT( findPressed() ) ); insilmaril@0: connect ( findcombo, SIGNAL( textChanged(const QString &) ), insilmaril@0: this, SLOT( findTextChanged(const QString&) ) ); insilmaril@0: insilmaril@370: row2Layout->addWidget(findcombo); insilmaril@370: insilmaril@0: // Create Buttons insilmaril@370: QHBoxLayout *row3Layout = new QHBoxLayout; insilmaril@370: clearbutton = new QPushButton; insilmaril@370: clearbutton->setText(tr("Clear")); insilmaril@370: connect ( clearbutton, SIGNAL( clicked() ), this, SLOT( clearLineEdit() ) ); insilmaril@370: row3Layout->addWidget (clearbutton); insilmaril@0: insilmaril@370: cancelbutton = new QPushButton; insilmaril@370: cancelbutton->setText(tr("Cancel")); insilmaril@370: cancelbutton->setShortcut (Qt::Key_Escape); insilmaril@370: connect ( cancelbutton, SIGNAL( clicked() ), this, SLOT( cancelPressed() ) ); insilmaril@370: row3Layout->addWidget (cancelbutton); insilmaril@0: insilmaril@370: findbutton = new QPushButton; insilmaril@370: findbutton->setText (tr("Find")); insilmaril@0: findbutton->setDefault (true); insilmaril@370: findbutton->setShortcut (Qt::Key_Return); insilmaril@370: connect ( findbutton, SIGNAL( clicked() ), this, SLOT( findPressed() ) ); insilmaril@370: insilmaril@375: row3Layout->addStretch(2); insilmaril@370: row3Layout->addWidget(findbutton); insilmaril@370: insilmaril@370: mainLayout->addLayout (row1Layout); insilmaril@370: mainLayout->addLayout (row2Layout); insilmaril@370: mainLayout->addLayout (row3Layout); insilmaril@370: setLayout (mainLayout); insilmaril@0: } insilmaril@0: insilmaril@0: void FindWindow::popup() insilmaril@0: { insilmaril@370: show(); insilmaril@0: findcombo->lineEdit()->selectAll(); insilmaril@370: findcombo->setFocus(); insilmaril@0: } insilmaril@0: insilmaril@0: void FindWindow::cancelPressed() insilmaril@0: { insilmaril@0: hide(); insilmaril@0: } insilmaril@0: insilmaril@0: void FindWindow::findPressed() insilmaril@0: { insilmaril@0: emit (findButton(findcombo->currentText() ) ); insilmaril@0: } insilmaril@0: insilmaril@0: void FindWindow::findTextChanged(const QString&) insilmaril@0: { insilmaril@0: emit (somethingChanged() ); insilmaril@0: } insilmaril@370: insilmaril@370: void FindWindow::clearLineEdit() insilmaril@370: { insilmaril@370: findcombo->lineEdit()->clear(); insilmaril@370: }