Libksieve

findbarbase.h
1 /* Copyright (C) 2010 Torgny Nyblom <[email protected]>
2  * Copyright (C) 2010-2020 Laurent Montel <[email protected]>
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public License
15  * along with this library; see the file COPYING.LIB. If not, write to
16  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  * Boston, MA 02110-1301, USA.
18  */
19 
20 #ifndef FINDBARBASE_H
21 #define FINDBARBASE_H
22 
23 #include <QWidget>
24 #include "ksieveui_export.h"
25 class QAction;
26 class QPushButton;
27 class QMenu;
28 class QLabel;
29 namespace PimCommon {
30 class LineEditWithCompleterNg;
31 }
32 namespace KSieveUi {
33 class KSIEVEUI_EXPORT FindBarBase : public QWidget
34 {
35  Q_OBJECT
36 public:
37  explicit FindBarBase(QWidget *parent = nullptr);
38  ~FindBarBase() override;
39 
40  Q_REQUIRED_RESULT QString text() const;
41  void setText(const QString &text);
42  void focusAndSetCursor();
43 
44 protected:
45  bool event(QEvent *e) override;
46  virtual void clearSelections();
47  virtual void updateHighLight(bool);
48  virtual void searchText(bool backward, bool isAutoSearch);
49  virtual void updateSensitivity(bool);
50 
51  void setFoundMatch(bool match);
52  QMenu *optionsMenu();
53 
54 public Q_SLOTS:
55  void findNext();
56  void findPrev();
57  void autoSearch(const QString &str);
58  void slotSearchText(bool backward = false, bool isAutoSearch = true);
59  void closeBar();
60 
61 Q_SIGNALS:
62  void hideFindBar();
63 
64 protected Q_SLOTS:
65  void caseSensitivityChanged(bool);
66  void slotHighlightAllChanged(bool);
67 
68 protected:
69  QString mNotFoundString;
70  QString mPositiveBackground;
71  QString mNegativeBackground;
72  QString mLastSearchStr;
73  PimCommon::LineEditWithCompleterNg *mSearch = nullptr;
74  QAction *mCaseSensitiveAct = nullptr;
75 
76  QPushButton *mFindPrevBtn = nullptr;
77  QPushButton *mFindNextBtn = nullptr;
78  QMenu *mOptionsMenu = nullptr;
79  QLabel *mStatus = nullptr;
80  void addToCompletion(const QString &text);
81 };
82 }
83 
84 #endif /* FINDBARBASE_H */
const QList< QKeySequence > & findPrev()
const QList< QKeySequence > & findNext()
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Sun May 31 2020 22:46:47 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.