aboutsummaryrefslogtreecommitdiff
path: root/application/widgets/VersionListView.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'application/widgets/VersionListView.cpp')
-rw-r--r--application/widgets/VersionListView.cpp163
1 files changed, 0 insertions, 163 deletions
diff --git a/application/widgets/VersionListView.cpp b/application/widgets/VersionListView.cpp
deleted file mode 100644
index 8424fedd..00000000
--- a/application/widgets/VersionListView.cpp
+++ /dev/null
@@ -1,163 +0,0 @@
-/* Copyright 2013-2021 MultiMC Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <QHeaderView>
-#include <QApplication>
-#include <QMouseEvent>
-#include <QDrag>
-#include <QPainter>
-#include "VersionListView.h"
-#include "Common.h"
-
-VersionListView::VersionListView(QWidget *parent)
- :QTreeView ( parent )
-{
- m_emptyString = tr("No versions are currently available.");
-}
-
-void VersionListView::rowsInserted(const QModelIndex &parent, int start, int end)
-{
- m_itemCount += end-start+1;
- updateEmptyViewPort();
- QTreeView::rowsInserted(parent, start, end);
-}
-
-
-void VersionListView::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end)
-{
- m_itemCount -= end-start+1;
- updateEmptyViewPort();
- QTreeView::rowsInserted(parent, start, end);
-}
-
-void VersionListView::setModel(QAbstractItemModel *model)
-{
- m_itemCount = model->rowCount();
- updateEmptyViewPort();
- QTreeView::setModel(model);
-}
-
-void VersionListView::reset()
-{
- if(model())
- {
- m_itemCount = model()->rowCount();
- }
- else {
- m_itemCount = 0;
- }
- updateEmptyViewPort();
- QTreeView::reset();
-}
-
-void VersionListView::setEmptyString(QString emptyString)
-{
- m_emptyString = emptyString;
- updateEmptyViewPort();
-}
-
-void VersionListView::setEmptyErrorString(QString emptyErrorString)
-{
- m_emptyErrorString = emptyErrorString;
- updateEmptyViewPort();
-}
-
-void VersionListView::setEmptyMode(VersionListView::EmptyMode mode)
-{
- m_emptyMode = mode;
- updateEmptyViewPort();
-}
-
-void VersionListView::updateEmptyViewPort()
-{
-#ifndef QT_NO_ACCESSIBILITY
- setAccessibleDescription(currentEmptyString());
-#endif /* !QT_NO_ACCESSIBILITY */
-
- if(!m_itemCount)
- {
- viewport()->update();
- }
-}
-
-void VersionListView::paintEvent(QPaintEvent *event)
-{
- if(m_itemCount)
- {
- QTreeView::paintEvent(event);
- }
- else
- {
- paintInfoLabel(event);
- }
-}
-
-QString VersionListView::currentEmptyString() const
-{
- if(m_itemCount) {
- return QString();
- }
- switch(m_emptyMode)
- {
- default:
- case VersionListView::Empty:
- return QString();
- case VersionListView::String:
- return m_emptyString;
- case VersionListView::ErrorString:
- return m_emptyErrorString;
- }
-}
-
-
-void VersionListView::paintInfoLabel(QPaintEvent *event) const
-{
- QString emptyString = currentEmptyString();
-
- //calculate the rect for the overlay
- QPainter painter(viewport());
- painter.setRenderHint(QPainter::Antialiasing, true);
- QFont font("sans", 20);
- font.setBold(true);
-
- QRect bounds = viewport()->geometry();
- bounds.moveTop(0);
- auto innerBounds = bounds;
- innerBounds.adjust(10, 10, -10, -10);
-
- QColor background = QApplication::palette().color(QPalette::Foreground);
- QColor foreground = QApplication::palette().color(QPalette::Base);
- foreground.setAlpha(190);
- painter.setFont(font);
- auto fontMetrics = painter.fontMetrics();
- auto textRect = fontMetrics.boundingRect(innerBounds, Qt::AlignHCenter | Qt::TextWordWrap, emptyString);
- textRect.moveCenter(bounds.center());
-
- auto wrapRect = textRect;
- wrapRect.adjust(-10, -10, 10, 10);
-
- //check if we are allowed to draw in our area
- if (!event->rect().intersects(wrapRect)) {
- return;
- }
-
- painter.setBrush(QBrush(background));
- painter.setPen(foreground);
- painter.drawRoundedRect(wrapRect, 5.0, 5.0);
-
- painter.setPen(foreground);
- painter.setFont(font);
- painter.drawText(textRect, Qt::AlignHCenter | Qt::TextWordWrap, emptyString);
-}