findwindow.cpp
author insilmaril
Tue, 05 Sep 2006 11:53:54 +0000
changeset 373 92a0fb4a5230
parent 370 97f5d07bf47d
child 375 06ab6df252fa
permissions -rw-r--r--
fixed default shortcut in findwindow
insilmaril@370
     1
#include <QLineEdit>
insilmaril@370
     2
#include <QVBoxLayout>
insilmaril@364
     3
#include <QLabel>
insilmaril@0
     4
insilmaril@0
     5
#include "findwindow.h"
insilmaril@180
     6
#include "version.h"
insilmaril@0
     7
insilmaril@0
     8
insilmaril@370
     9
FindWindow::FindWindow(QWidget* parent)
insilmaril@370
    10
	: QGroupBox( tr("Find"), parent )
insilmaril@0
    11
insilmaril@0
    12
{
insilmaril@370
    13
	setWindowTitle(__VYM " - " +tr("Find Text"));
insilmaril@0
    14
	//resize (180,130);
insilmaril@370
    15
	//move (130,130);
insilmaril@0
    16
insilmaril@370
    17
    QVBoxLayout* mainLayout = new QVBoxLayout;
insilmaril@370
    18
    
insilmaril@370
    19
    QHBoxLayout *row1Layout = new QHBoxLayout;
insilmaril@370
    20
    // Create a Label
insilmaril@370
    21
    QLabel* label = new QLabel;
insilmaril@370
    22
    label->setText( tr("Text to find:"));
insilmaril@370
    23
    row1Layout->addWidget( label );
insilmaril@0
    24
insilmaril@0
    25
insilmaril@0
    26
	// Create LineEdit (here QComboBox)
insilmaril@370
    27
    QHBoxLayout *row2Layout = new QHBoxLayout;
insilmaril@370
    28
    findcombo = new QComboBox;
insilmaril@0
    29
	findcombo->setMinimumWidth(150);
insilmaril@370
    30
	findcombo->setEditable(true);
insilmaril@0
    31
	connect ( findcombo, SIGNAL( highlighted(int) ), 
insilmaril@0
    32
		this, SLOT( findPressed() ) );
insilmaril@0
    33
	connect ( findcombo, SIGNAL( textChanged(const QString &) ), 
insilmaril@0
    34
		this, SLOT( findTextChanged(const QString&) ) );
insilmaril@0
    35
    //findcombo->insertItem( "Normal", -1 );
insilmaril@0
    36
insilmaril@370
    37
	row2Layout->addWidget(findcombo);
insilmaril@370
    38
insilmaril@0
    39
	// Create Buttons
insilmaril@370
    40
    QHBoxLayout *row3Layout = new QHBoxLayout;
insilmaril@370
    41
	clearbutton = new QPushButton;
insilmaril@370
    42
	clearbutton->setText(tr("Clear"));
insilmaril@370
    43
	connect ( clearbutton, SIGNAL( clicked() ), this, SLOT( clearLineEdit() ) );
insilmaril@370
    44
	row3Layout->addWidget (clearbutton);
insilmaril@0
    45
	
insilmaril@370
    46
	/*
insilmaril@0
    47
	QSpacerItem *si1= new QSpacerItem (10,0,QSizePolicy::Minimum, QSizePolicy::Expanding );
insilmaril@370
    48
	row3Layout->addItem(si1);
insilmaril@370
    49
	*/
insilmaril@0
    50
	
insilmaril@370
    51
	cancelbutton = new QPushButton;
insilmaril@370
    52
	cancelbutton->setText(tr("Cancel"));
insilmaril@370
    53
	cancelbutton->setShortcut (Qt::Key_Escape);
insilmaril@370
    54
	connect ( cancelbutton, SIGNAL( clicked() ), this, SLOT( cancelPressed() ) );
insilmaril@370
    55
	row3Layout->addWidget (cancelbutton);
insilmaril@0
    56
insilmaril@370
    57
/*
insilmaril@0
    58
	QSpacerItem *si2= new QSpacerItem (10,0,QSizePolicy::Fixed, QSizePolicy::Fixed);
insilmaril@370
    59
	row3Layout->addItem(si2);
insilmaril@370
    60
	*/
insilmaril@0
    61
	
insilmaril@370
    62
	findbutton = new QPushButton;
insilmaril@370
    63
	findbutton->setText (tr("Find"));
insilmaril@0
    64
	findbutton->setDefault (true);
insilmaril@370
    65
	findbutton->setShortcut (Qt::Key_Return);
insilmaril@370
    66
	connect ( findbutton, SIGNAL( clicked() ), this, SLOT( findPressed() ) );
insilmaril@370
    67
insilmaril@370
    68
	row3Layout->addWidget(findbutton);
insilmaril@370
    69
insilmaril@370
    70
	mainLayout->addLayout (row1Layout);
insilmaril@370
    71
	mainLayout->addLayout (row2Layout);
insilmaril@370
    72
	mainLayout->addLayout (row3Layout);
insilmaril@370
    73
	setLayout (mainLayout);
insilmaril@0
    74
}
insilmaril@0
    75
insilmaril@0
    76
void FindWindow::popup()
insilmaril@0
    77
{
insilmaril@370
    78
	show();
insilmaril@0
    79
	findcombo->lineEdit()->selectAll();
insilmaril@370
    80
	findcombo->setFocus();
insilmaril@0
    81
}
insilmaril@0
    82
insilmaril@0
    83
void FindWindow::cancelPressed()
insilmaril@0
    84
{
insilmaril@0
    85
	hide();
insilmaril@0
    86
}
insilmaril@0
    87
insilmaril@0
    88
void FindWindow::findPressed()
insilmaril@0
    89
{
insilmaril@0
    90
	emit (findButton(findcombo->currentText() ) );
insilmaril@0
    91
}
insilmaril@0
    92
insilmaril@0
    93
void FindWindow::findTextChanged(const QString&)
insilmaril@0
    94
{
insilmaril@0
    95
	emit (somethingChanged() );
insilmaril@0
    96
}
insilmaril@370
    97
insilmaril@370
    98
void FindWindow::clearLineEdit()
insilmaril@370
    99
{
insilmaril@370
   100
	findcombo->lineEdit()->clear();
insilmaril@370
   101
}