findwidget.cpp
author insilmaril
Wed, 25 Nov 2009 15:27:22 +0000
changeset 808 b163492fda17
child 810 a9295db4dcbf
permissions -rw-r--r--
First version of new FindWidget instead of extra floating dialog
insilmaril@808
     1
#include <QLineEdit>
insilmaril@808
     2
#include <QVBoxLayout>
insilmaril@808
     3
#include <QLabel>
insilmaril@808
     4
insilmaril@808
     5
#include "findwidget.h"
insilmaril@808
     6
insilmaril@808
     7
insilmaril@808
     8
extern QString vymName;
insilmaril@808
     9
insilmaril@808
    10
FindWidget::FindWidget(QWidget* parent)
insilmaril@808
    11
{
insilmaril@808
    12
    QVBoxLayout* mainLayout = new QVBoxLayout;
insilmaril@808
    13
    QHBoxLayout *row2Layout = new QHBoxLayout;
insilmaril@808
    14
    
insilmaril@808
    15
	// Create Buttons
insilmaril@808
    16
	cancelbutton = new QPushButton;
insilmaril@808
    17
	cancelbutton->setText(tr("Cancel"));
insilmaril@808
    18
	cancelbutton->setShortcut (Qt::Key_Escape);
insilmaril@808
    19
	connect ( cancelbutton, SIGNAL( clicked() ), this, SLOT( cancelPressed() ) );
insilmaril@808
    20
	
insilmaril@808
    21
	// Create LineEdit (here QComboBox)
insilmaril@808
    22
    findcombo = new QComboBox;
insilmaril@808
    23
	findcombo->setMinimumWidth(250);
insilmaril@808
    24
	findcombo->setEditable(true);
insilmaril@808
    25
	connect ( findcombo, SIGNAL( highlighted(int) ), 
insilmaril@808
    26
		this, SLOT( nextPressed() ) );
insilmaril@808
    27
	connect ( findcombo, SIGNAL( textChanged(const QString &) ), 
insilmaril@808
    28
		this, SLOT( findTextChanged(const QString&) ) );
insilmaril@808
    29
insilmaril@808
    30
	nextbutton = new QPushButton;
insilmaril@808
    31
	nextbutton->setText (tr("Next","Find widget"));
insilmaril@808
    32
	//nextbutton->setDefault (true);
insilmaril@808
    33
	//nextbutton->setShortcut (Qt::Key_Return);
insilmaril@808
    34
	connect ( nextbutton, SIGNAL( clicked() ), this, SLOT( nextPressed() ) );
insilmaril@808
    35
insilmaril@808
    36
	row2Layout->addWidget (cancelbutton);
insilmaril@808
    37
	row2Layout->addWidget(findcombo);
insilmaril@808
    38
	row2Layout->addWidget(nextbutton);
insilmaril@808
    39
insilmaril@808
    40
	mainLayout->addLayout (row2Layout);
insilmaril@808
    41
insilmaril@808
    42
	setLayout (mainLayout);
insilmaril@808
    43
}
insilmaril@808
    44
insilmaril@808
    45
void FindWidget::popup()
insilmaril@808
    46
{
insilmaril@808
    47
	show();
insilmaril@808
    48
	findcombo->lineEdit()->selectAll();
insilmaril@808
    49
	findcombo->setFocus();
insilmaril@808
    50
}
insilmaril@808
    51
insilmaril@808
    52
void FindWidget::cancelPressed()
insilmaril@808
    53
{
insilmaril@808
    54
	hide();
insilmaril@808
    55
}
insilmaril@808
    56
insilmaril@808
    57
void FindWidget::nextPressed()
insilmaril@808
    58
{
insilmaril@808
    59
	emit (nextButton(findcombo->currentText() ) );
insilmaril@808
    60
}
insilmaril@808
    61
insilmaril@808
    62
void FindWidget::findTextChanged(const QString&)
insilmaril@808
    63
{
insilmaril@808
    64
	emit (somethingChanged() );
insilmaril@808
    65
}
insilmaril@808
    66