⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 searchresultsdlg.cpp

📁 linux下的sourceinsight
💻 CPP
字号:
/*************************************************************************** * * Copyright (C) 2005 Elad Lahav (elad_lahav@users.sourceforge.net) * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: *  * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. *  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ***************************************************************************/#include <qpushbutton.h>#include <qlineedit.h>#include <qcombobox.h>#include <qradiobutton.h>#include "searchresultsdlg.h"int SearchResultsDlg::s_nType = PlainText;bool SearchResultsDlg::s_bCaseSensitive = true;bool SearchResultsDlg::s_bNegate = false;/** * Class constructor. * @param	pParent	The parent widget * @param	szName	Optional widget name */SearchResultsDlg::SearchResultsDlg(QWidget* pParent, const char* szName) :	SearchResultsLayout(pParent, szName, true, 0){	// Select the last selected type radio button	switch (s_nType) {	case PlainText:		m_pTextRadio->setChecked(true);		break;			case RegExp:		m_pRegExpRadio->setChecked(true);		break;			case SimpRegExp:		m_pSimpRegExpRadio->setChecked(true);		break;	}	// Set the default value of the check-boxes	m_pCaseSenCheck->setChecked(s_bCaseSensitive);	m_pNegateCheck->setChecked(s_bNegate);			// Terminate the dialogue when either the "OK" or "Cancel" buttons are	// clicked	connect(m_pOKButton, SIGNAL(clicked()), this, SLOT(accept()));	connect(m_pCancelButton, SIGNAL(clicked()), this, SLOT(reject()));}/** * Class destructor. */SearchResultsDlg::~SearchResultsDlg(){}/** * Determines the default column on which to search. * The column's name appears in the column combo-box. */void SearchResultsDlg::setColumn(int nCol){	m_pColumnCB->setCurrentItem(nCol);}/** * @return	The selected column on which to perform the search */int SearchResultsDlg::getColumn(){	return m_pColumnCB->currentItem();}/** * Creates a regular expression based on the given pattern and type of search. * @param	re	A regular expression object to set */void SearchResultsDlg::getPattern(QRegExp& re){	QString sPattern;		sPattern = m_pSearchEdit->text();		// Create the regular expression	switch (s_nType) {	case PlainText:		re.setPattern(QRegExp::escape(sPattern));		re.setWildcard(false);		break;			case RegExp:		re.setPattern(sPattern);		re.setWildcard(false);		break;		case SimpRegExp:		re.setPattern(sPattern);		re.setWildcard(true);		break;	}		// Set the case-(in)sensitive parameter	re.setCaseSensitive(s_bCaseSensitive);}/** * Reads user values from the widgets, and closes the dialogue. * This slot is connected to the clicked() signal emitted by the "OK" button. */void SearchResultsDlg::accept(){	QString sText;			// Determine the selected type and store its value for the next invocation	if (m_pTextRadio->isChecked())		s_nType = PlainText;	else if (m_pRegExpRadio->isChecked())		s_nType = RegExp;	else if (m_pSimpRegExpRadio->isChecked())		s_nType = SimpRegExp;		// Determine search parameters	s_bCaseSensitive = m_pCaseSenCheck->isChecked();	s_bNegate = m_pNegateCheck->isChecked();		// Remove white space from the search text	sText = m_pSearchEdit->text();	sText.stripWhiteSpace();	if (sText.isEmpty()) {		QDialog::reject();		return;	}	// Close the dialogue	QDialog::accept();}#include "searchresultsdlg.moc"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -