LeechCraft  0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
lineeditbuttonmanager.h
Go to the documentation of this file.
1 /**********************************************************************
2  * LeechCraft - modular cross-platform feature rich internet client.
3  * Copyright (C) 2006-2014 Georg Rudoy
4  *
5  * Distributed under the Boost Software License, Version 1.0.
6  * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7  **********************************************************************/
8 
9 #pragma once
10 
11 #include <QObject>
12 #include "guiconfig.h"
13 
14 class QToolButton;
15 class QLineEdit;
16 
17 namespace LC::Util
18 {
36  class UTIL_GUI_API LineEditButtonManager : public QObject
37  {
38  QLineEdit * const Edit_;
39  const int FrameWidth_;
40 
41  int Pad_;
42 
43  QList<QToolButton*> Buttons_;
44  public:
56  explicit LineEditButtonManager (QLineEdit *edit);
57 
62  void Add (QToolButton *button);
63  protected:
64  bool eventFilter (QObject*, QEvent*) override;
65  private:
66  void UpdatePos ();
67  };
68 }
QList< QToolButton * >
LC::Util
Definition: icoreproxy.h:33
LC::Util::LineEditButtonManager
Manages additional overlay buttons in a QLineEdit.
Definition: lineeditbuttonmanager.h:36
UTIL_GUI_API
#define UTIL_GUI_API
Definition: guiconfig.h:16
guiconfig.h