comparison src/gui/widgets/elided_label.cc @ 258:862d0d8619f6

*: HUUUGE changes animia has been renamed to animone, so instead of thinking of a health condition, you think of a beautiful flower :) I've also edited some of the code for animone, but I have no idea if it even works or not because I don't have a mac or windows machine lying around. whoops! ... anyway, all of the changes divergent from Anisthesia are now licensed under BSD. it's possible that I could even rewrite most of the code to where I don't even have to keep the MIT license, but that's thinking too far into the future I've been slacking off on implementing the anime seasons page, mostly out of laziness. I think I'd have to create another db file specifically for the seasons anyway, this code is being pushed *primarily* because the hard drive it's on is failing! yay :)
author Paper <paper@paper.us.eu.org>
date Mon, 01 Apr 2024 02:43:44 -0400
parents b3549da699a6
children f31305b9f60a
comparison
equal deleted inserted replaced
257:699a20c57dc8 258:862d0d8619f6
1 /* 1 /*
2 * Copyright (C) 2016 The Qt Company Ltd. 2 * Copyright (C) 2016 The Qt Company Ltd.
3 * Contact: https://www.qt.io/licensing/ 3 * Contact: https://www.qt.io/licensing/
4 * 4 *
5 * This file is part of the QtCore module of the Qt Toolkit. 5 * This file is part of the QtCore module of the Qt Toolkit.
6 * 6 *
7 * "Redistribution and use in source and binary forms, with or without 7 * "Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are 8 * modification, are permitted provided that the following conditions are
9 * met: 9 * met:
10 * * Redistributions of source code must retain the above copyright 10 * * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer. 11 * notice, this list of conditions and the following disclaimer.
12 * * Redistributions in binary form must reproduce the above copyright 12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in 13 * notice, this list of conditions and the following disclaimer in
14 * the documentation and/or other materials provided with the 14 * the documentation and/or other materials provided with the
15 * distribution. 15 * distribution.
16 * * Neither the name of The Qt Company Ltd nor the names of its 16 * * Neither the name of The Qt Company Ltd nor the names of its
17 * contributors may be used to endorse or promote products derived 17 * contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission. 18 * from this software without specific prior written permission.
19 * 19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." 30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
31 */ 31 */
32 32
33 #include "gui/widgets/elided_label.h" 33 #include "gui/widgets/elided_label.h"
34 34
35 #include <QPainter> 35 #include <QPainter>
36 #include <QSizePolicy> 36 #include <QSizePolicy>
37 #include <QTextLayout> 37 #include <QTextLayout>
38 38
39 ElidedLabel::ElidedLabel(const QString& text, QWidget* parent) 39 ElidedLabel::ElidedLabel(const QString& text, QWidget* parent) : QFrame(parent), content(text) {
40 : QFrame(parent), content(text) {
41 setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); 40 setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
42 } 41 }
43 42
44 void ElidedLabel::SetText(const QString& text) { 43 void ElidedLabel::SetText(const QString& text) {
45 content = text; 44 content = text;
46 update(); 45 update();
47 } 46 }
48 47
49 void ElidedLabel::paintEvent(QPaintEvent *event) { 48 void ElidedLabel::paintEvent(QPaintEvent* event) {
50 QFrame::paintEvent(event); 49 QFrame::paintEvent(event);
51 50
52 QPainter painter(this); 51 QPainter painter(this);
53 QFontMetrics fontMetrics = painter.fontMetrics(); 52 QFontMetrics fontMetrics = painter.fontMetrics();
54 53