diff options
Diffstat (limited to 'src/elidinglabel.cc')
-rw-r--r-- | src/elidinglabel.cc | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/src/elidinglabel.cc b/src/elidinglabel.cc deleted file mode 100644 index e1df4b6..0000000 --- a/src/elidinglabel.cc +++ /dev/null @@ -1,46 +0,0 @@ -/*** - This file is part of pavucontrol-qt. - - pavucontrol-qt is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 2 of the License, or - (at your option) any later version. - - pavucontrol-qt is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with pavucontrol-qt. If not, see <https://www.gnu.org/licenses/>. -***/ - -#include "elidinglabel.h" -#include <QPainter> -#include <QStyleOption> - -ElidingLabel::ElidingLabel(QWidget *parent, Qt::WindowFlags f): - QLabel(parent, f), - lastWidth_(0) { - setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); - // set a min width to prevent the window from widening with long texts - setMinimumWidth(fontMetrics().averageCharWidth() * 10); -} - -// A simplified version of QLabel::paintEvent() without pixmap or shortcut but with eliding -void ElidingLabel::paintEvent(QPaintEvent */*event*/) { - QRect cr = contentsRect().adjusted(margin(), margin(), -margin(), -margin()); - QString txt = text(); - // if the text is changed or its rect is resized (due to window resizing), - // find whether it needs to be elided... - if (txt != lastText_ || cr.width() != lastWidth_) { - lastText_ = txt; - lastWidth_ = cr.width(); - elidedText_ = fontMetrics().elidedText(txt, Qt::ElideMiddle, cr.width()); - } - // ... then, draw the (elided) text */ - QPainter painter(this); - QStyleOption opt; - opt.initFrom(this); - style()->drawItemText(&painter, cr, alignment(), opt.palette, isEnabled(), elidedText_, foregroundRole()); -} |