KFindDialog Class

A generic "find" dialog. More...

Header: #include <KFindDialog>
CMake: find_package(KF6 REQUIRED COMPONENTS TextWidgets)
target_link_libraries(mytarget PRIVATE KF6::TextWidgets)
Inherits: QDialog
Inherited By:

KReplaceDialog

Public Functions

KFindDialog(QWidget *parent = nullptr, long options = 0, const QStringList &findStrings = QStringList(), bool hasSelection = false, bool replaceDialog = false)
virtual ~KFindDialog() override
QWidget *findExtension() const
QStringList findHistory() const
long options() const
QString pattern() const
void setFindHistory(const QStringList &history)
void setHasCursor(bool hasCursor)
void setHasSelection(bool hasSelection)
void setOptions(long options)
void setPattern(const QString &pattern)
void setSupportsBackwardsFind(bool supports)
void setSupportsCaseSensitiveFind(bool supports)
void setSupportsRegularExpressionFind(bool supports)
void setSupportsWholeWordsFind(bool supports)

Signals

void cancelClicked()
void okClicked()
void optionsChanged()

Detailed Description

Detail:

This widget inherits from KDialog and implements the following additional functionalities: a find string object and an area for a user-defined widget to extend the dialog.

Example:

To use the basic modal find dialog, and then run the search:

KFindDialog dlg(....)
if (dlg.exec() != QDialog::Accepted)
    return;

// proceed with KFind from here

To create a non-modal find dialog:

if (m_findDialog) {
  m_findDialog->activateWindow();
} else {
  m_findDialog = new KFindDialog(...);
  connect(m_findDialog, &KFindDialog::okClicked, this, [this] {
      m_findDialog->close();
      delete m_find;
      m_find = new KFind(m_findDialog->pattern(), m_findDialog->options(), this);
      // ... see KFind documentation for what else should be done here
  });
}

Don't forget to delete and reset m_findDialog when closed. (But do NOT delete your KFind object at that point, it's needed for "Find Next".)

To use your own extensions: see findExtension().

"KFindDialog Widget"

Member Function Documentation

[explicit] KFindDialog::KFindDialog(QWidget *parent = nullptr, long options = 0, const QStringList &findStrings = QStringList(), bool hasSelection = false, bool replaceDialog = false)

Construct a modal find dialog

parent The parent object of this widget.

options A bitfield of the Options to be checked.

findStrings The find history, see findHistory()

hasSelection Whether a selection exists

[override virtual noexcept] KFindDialog::~KFindDialog()

Destructor.

[signal] void KFindDialog::cancelClicked()

This signal is sent when the user clicks on Cancel button.

QWidget *KFindDialog::findExtension() const

Returns an empty widget which the user may fill with additional UI elements as required. The widget occupies the width of the dialog, and is positioned immediately below the regular expression support widgets for the pattern string.

QStringList KFindDialog::findHistory() const

Returns the list of history items.

See also setFindHistory.

[signal] void KFindDialog::okClicked()

This signal is sent when the user clicks on Ok button.

long KFindDialog::options() const

Returns the state of the options. Disabled options may be returned in an indeterminate state.

See also setOptions() and KFind::Options.

[signal] void KFindDialog::optionsChanged()

This signal is sent whenever one of the option checkboxes is toggled. Call options() to get the new state of the checkboxes.

QString KFindDialog::pattern() const

Returns the pattern to find.

See also setPattern().

void KFindDialog::setFindHistory(const QStringList &history)

Provide the list of strings to be displayed as the history of find strings. The history might get truncated if it is too long.

See also findHistory.

void KFindDialog::setHasCursor(bool hasCursor)

Hide/show the 'from cursor' option, depending on whether the application implements a cursor.

hasCursor true if the application features a cursor. This is assumed to be the case by default.

void KFindDialog::setHasSelection(bool hasSelection)

Enable/disable the 'search in selection' option, depending on whether there actually is a selection.

hasSelection true if a selection exists

void KFindDialog::setOptions(long options)

Set the options which are checked.

options The setting of the Options.

See also options() and KFind::Options.

void KFindDialog::setPattern(const QString &pattern)

Sets the pattern to find.

See also pattern().

void KFindDialog::setSupportsBackwardsFind(bool supports)

Enable/disable the 'Find backwards' option, depending on whether the application supports it.

supports true if the application supports backwards find. This is assumed to be the case by default.

void KFindDialog::setSupportsCaseSensitiveFind(bool supports)

Enable/disable the 'Case sensitive' option, depending on whether the application supports it.

supports true if the application supports case sensitive find. This is assumed to be the case by default.

void KFindDialog::setSupportsRegularExpressionFind(bool supports)

Enable/disable the 'Regular expression' option, depending on whether the application supports it.

supports true if the application supports regular expression find. This is assumed to be the case by default.

void KFindDialog::setSupportsWholeWordsFind(bool supports)

Enable/disable the 'Whole words only' option, depending on whether the application supports it.

supports true if the application supports whole words only find. This is assumed to be the case by default.