LeechCraft  0.6.70-18450-gabe19ee3b0
Modular cross-platform feature rich live environment.
elidinglabel.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 <QLabel>
12 #include "guiconfig.h"
13 
14 namespace LC::Util
15 {
16  class UTIL_GUI_API ElidingLabel : public QLabel
17  {
18  QString FullText_;
19  Qt::TextElideMode ElideMode_ = Qt::ElideMiddle;
20  public:
21  explicit ElidingLabel (QWidget* = nullptr);
22 
23  void SetFullText (const QString&);
24  QString GetFullText () const;
25 
26  void SetElideMode (Qt::TextElideMode);
27  Qt::TextElideMode GetElideMode () const;
28 
29  QSize sizeHint () const override;
30  protected:
31  void changeEvent (QEvent*) override;
32  void resizeEvent (QResizeEvent*) override;
33  private:
34  void UpdateElide ();
35  };
36 }
#define UTIL_GUI_API
Definition: guiconfig.h:16