/* This file is part of Clementine. Clementine 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 3 of the License, or (at your option) any later version. Clementine 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 Clementine. If not, see . */ #include "autosizedtextedit.h" #include #include #include const qreal AutoSizedTextEdit::kDefaultFontSize = 8.5; const char* AutoSizedTextEdit::kSettingsGroup = "SongInfo"; AutoSizedTextEdit::AutoSizedTextEdit(QWidget* parent) : QTextBrowser(parent), last_width_(-1) { setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setOpenExternalLinks(true); ReloadSettings(); } void AutoSizedTextEdit::ReloadSettings() { QSettings s; s.beginGroup(kSettingsGroup); qreal size = s.value("font_size", kDefaultFontSize).toReal(); QFont font; font.setPointSizeF(size); document()->setDefaultFont(font); } void AutoSizedTextEdit::resizeEvent(QResizeEvent* e) { const int w = qMax(100, width()); if (w == last_width_) return; last_width_ = w; document()->setTextWidth(w); setMinimumHeight(document()->size().height()); QTextEdit::resizeEvent(e); } QSize AutoSizedTextEdit::sizeHint() const { return minimumSize(); } void AutoSizedTextEdit::wheelEvent(QWheelEvent* e) { e->ignore(); }