┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/views/tooltips/filemetadatatooltip.cpp
diff options
context:
space:
mode:
authorElvis Angelaccio <[email protected]>2017-02-09 19:36:11 +0100
committerElvis Angelaccio <[email protected]>2017-02-09 19:36:11 +0100
commitd75b1de7bfeba76c540f6772e997aed4aacada88 (patch)
treea28620b1593201d2b8f7c7a9b7fb91a7eb290da6 /src/views/tooltips/filemetadatatooltip.cpp
parent333e2ae031fec6139a712f15283f0fffb23f2dc6 (diff)
Rename FileMetaDataToolTip to DolphinFileMetaDataWidget
Since commit 230fe13d1f this class is not a "tooltip" anymore, but just a simple widget. Rename it to avoid future confusion. Reviewers: emmanuelp Differential Revision: https://phabricator.kde.org/D4451
Diffstat (limited to 'src/views/tooltips/filemetadatatooltip.cpp')
-rw-r--r--src/views/tooltips/filemetadatatooltip.cpp158
1 files changed, 0 insertions, 158 deletions
diff --git a/src/views/tooltips/filemetadatatooltip.cpp b/src/views/tooltips/filemetadatatooltip.cpp
deleted file mode 100644
index e466ff3ed..000000000
--- a/src/views/tooltips/filemetadatatooltip.cpp
+++ /dev/null
@@ -1,158 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2010 by Peter Penz <[email protected]> *
- * Copyright (C) 2008 by Fredrik Höglund <[email protected]> *
- * Copyright (C) 2012 by Mark Gaiser <[email protected]> *
- * *
- * This program 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. *
- * *
- * This program 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 this program; if not, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
- ***************************************************************************/
-
-#include "filemetadatatooltip.h"
-
-#include <KColorScheme>
-#include <KSeparator>
-#include <KStringHandler>
-#include <QTextDocument>
-
-#include <QLabel>
-#include <QStyleOptionFrame>
-#include <QStylePainter>
-#include <QVBoxLayout>
-#include <QTextLayout>
-#include <QTextLine>
-
-#ifndef HAVE_BALOO
-#include <KFileMetaDataWidget>
-#else
-#include <Baloo/FileMetaDataWidget>
-#endif
-
-FileMetaDataToolTip::FileMetaDataToolTip(QWidget* parent) :
- QWidget(parent),
- m_preview(0),
- m_name(0),
- m_fileMetaDataWidget(0)
-{
- // Create widget for file preview
- m_preview = new QLabel(this);
- m_preview->setAlignment(Qt::AlignTop);
-
- // Create widget for file name
- m_name = new QLabel(this);
- m_name->setForegroundRole(QPalette::ToolTipText);
- m_name->setTextFormat(Qt::PlainText);
- m_name->setAlignment(Qt::AlignHCenter);
-
- QFont font = m_name->font();
- font.setBold(true);
- m_name->setFont(font);
-
- QFontMetrics fontMetrics(font);
- m_name->setMaximumWidth(fontMetrics.averageCharWidth() * 40);
-
- // Create widget for the meta data
-#ifndef HAVE_BALOO
- m_fileMetaDataWidget = new KFileMetaDataWidget(this);
- connect(m_fileMetaDataWidget, &KFileMetaDataWidget::metaDataRequestFinished,
- this, &FileMetaDataToolTip::metaDataRequestFinished);
-#else
- m_fileMetaDataWidget = new Baloo::FileMetaDataWidget(this);
- connect(m_fileMetaDataWidget, &Baloo::FileMetaDataWidget::metaDataRequestFinished,
- this, &FileMetaDataToolTip::metaDataRequestFinished);
-#endif
- m_fileMetaDataWidget->setForegroundRole(QPalette::ToolTipText);
- m_fileMetaDataWidget->setReadOnly(true);
-
- QVBoxLayout* textLayout = new QVBoxLayout();
- textLayout->addWidget(m_name);
- textLayout->addWidget(new KSeparator());
- textLayout->addWidget(m_fileMetaDataWidget);
- textLayout->setAlignment(m_name, Qt::AlignCenter);
- textLayout->setAlignment(m_fileMetaDataWidget, Qt::AlignLeft);
- // Assure that the text-layout gets top-aligned by adding a stretch.
- // Don't use textLayout->setAlignment(Qt::AlignTop) instead, as this does
- // not work with the heightForWidth()-size-hint of m_fileMetaDataWidget
- // (see bug #241608)
- textLayout->addStretch();
-
- QHBoxLayout* tipLayout = new QHBoxLayout(this);
- tipLayout->addWidget(m_preview);
- tipLayout->addSpacing(tipLayout->margin());
- tipLayout->addLayout(textLayout);
-}
-
-FileMetaDataToolTip::~FileMetaDataToolTip()
-{
-}
-
-void FileMetaDataToolTip::setPreview(const QPixmap& pixmap)
-{
- m_preview->setPixmap(pixmap);
-}
-
-QPixmap FileMetaDataToolTip::preview() const
-{
- if (m_preview->pixmap()) {
- return *m_preview->pixmap();
- }
- return QPixmap();
-}
-
-void FileMetaDataToolTip::setName(const QString& name)
-{
- QTextOption textOption;
- textOption.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere);
-
- const QString processedName = Qt::mightBeRichText(name) ? name : KStringHandler::preProcessWrap(name);
-
- QTextLayout textLayout(processedName);
- textLayout.setFont(m_name->font());
- textLayout.setTextOption(textOption);
-
- QString wrappedText;
- wrappedText.reserve(processedName.length());
-
- // wrap the text to fit into the maximum width of m_name
- textLayout.beginLayout();
- QTextLine line = textLayout.createLine();
- while (line.isValid()) {
- line.setLineWidth(m_name->maximumWidth());
- wrappedText += processedName.midRef(line.textStart(), line.textLength());
-
- line = textLayout.createLine();
- if (line.isValid()) {
- wrappedText += QChar::LineSeparator;
- }
- }
- textLayout.endLayout();
-
- m_name->setText(wrappedText);
-}
-
-QString FileMetaDataToolTip::name() const
-{
- return m_name->text();
-}
-
-void FileMetaDataToolTip::setItems(const KFileItemList& items)
-{
- m_fileMetaDataWidget->setItems(items);
-}
-
-KFileItemList FileMetaDataToolTip::items() const
-{
- return m_fileMetaDataWidget->items();
-}
-