コード例 #1
0
ファイル: Search.cpp プロジェクト: JeMaCheHi/deling
Search::Search(QTreeWidget *fieldList, QWidget *parent)
	: QDialog(parent, Qt::Tool), fieldArchive(NULL), fieldList(fieldList)
{
	fieldID = -1;
	textID = from = groupID = methodID = opcodeID = 0;
	setWindowTitle(tr("Rechercher"));
	setWindowModality(Qt::NonModal);
	setSizeGripEnabled(true);

	tabWidget = new QTabWidget(this);
	tabWidget->addTab(textPageWidget(), tr("Textes"));
	tabWidget->addTab(scriptPageWidget(), tr("Scripts"));

	buttonNext = new QPushButton(tr("Chercher le suivant"), this);
	buttonPrev = new QPushButton(tr("Chercher le précédent"), this);
	buttonPrev->setAutoDefault(false);
	buttonNext->setAutoDefault(false);
	buttonNext->setEnabled(false);
	buttonPrev->setEnabled(false);
	buttonNext->setDefault(true);

	new QShortcut(QKeySequence::FindNext, this, SLOT(findNext()), 0, Qt::ApplicationShortcut);
	new QShortcut(QKeySequence::FindPrevious, this, SLOT(findPrev()), 0, Qt::ApplicationShortcut);

	// buttonNext.width == buttonPrev.width
	if(buttonPrev->sizeHint().width() > buttonNext->sizeHint().width())
		buttonNext->setFixedSize(buttonPrev->sizeHint());
	else
		buttonPrev->setFixedSize(buttonNext->sizeHint());
	
	QGridLayout *layout = new QGridLayout(this);
	layout->addWidget(tabWidget, 0, 0, 1, 2);
	layout->addWidget(buttonPrev, 1, 0, Qt::AlignRight);
	layout->addWidget(buttonNext, 1, 1, Qt::AlignLeft);
	QMargins margins = layout->contentsMargins();
	margins.setTop(0);
	margins.setLeft(0);
	margins.setRight(0);
	layout->setContentsMargins(margins);

	connect(buttonNext, SIGNAL(released()), SLOT(findNext()));
	connect(buttonPrev, SIGNAL(released()), SLOT(findPrev()));
	connect(tabWidget, SIGNAL(currentChanged(int)), SLOT(setFocus()));
	connect(searchTextField, SIGNAL(textEdited(QString)), searchScriptTextField, SLOT(setText(QString)));
	connect(searchScriptTextField, SIGNAL(textEdited(QString)), searchTextField, SLOT(setText(QString)));
}