X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Floadingwidget.cpp;h=0f030d983e467f0ac100cd90f29e08632f20207d;hb=29f9a13b38a0547b70236d24300668385e1dbf6e;hp=79efe0d3d0431477d1d84527781f54536dad9d1b;hpb=7cdd5bd476021ec84d54c4ec5be02280e1e9e548;p=minitube diff --git a/src/loadingwidget.cpp b/src/loadingwidget.cpp index 79efe0d..0f030d9 100644 --- a/src/loadingwidget.cpp +++ b/src/loadingwidget.cpp @@ -45,6 +45,8 @@ LoadingWidget::LoadingWidget(QWidget *parent) : QWidget(parent) { descriptionLabel->setForegroundRole(QPalette::Text); descriptionLabel->setWordWrap(true); descriptionLabel->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Expanding); + descriptionLabel->setTextFormat(Qt::RichText); + descriptionLabel->setOpenExternalLinks(true); layout->addWidget(descriptionLabel); progressBar = new QProgressBar(this); @@ -63,14 +65,16 @@ void LoadingWidget::setVideo(Video *video) { QFont titleFont; #ifdef APP_MAC - titleFont.setFamily("Helvetica"); -#endif -#ifdef APP_WIN + titleFont.setFamily("Helvetica Neue"); + titleFont.setStyleName("Thin"); +#elif APP_WIN titleFont.setFamily("Segoe UI Light"); + titleFont.setStyleName("Light"); +#else + titleFont.setStyleName("Light"); #endif int smallerDimension = qMin(height(), width()); titleFont.setPixelSize(smallerDimension / 12); - titleFont.setHintingPreference(QFont::PreferNoHinting); QFontMetrics fm(titleFont); int textHeightInPixels = fm.height(); int spacing = textHeightInPixels / 2; @@ -79,9 +83,13 @@ void LoadingWidget::setVideo(Video *video) { QString title = video->title(); // enhance legibility by splitting the title - title = title.replace(" - ", "

"); - title = title.replace("] ", "]

"); - title = title.replace(" [", "

["); + title.replace(QLatin1String(" - "), QLatin1String("

")); + title.replace(QLatin1String(" | "), QLatin1String("

")); + title.replace(QLatin1String(" — "), QLatin1String("

")); + title.replace(QLatin1String("] "), QLatin1String("]

")); + title.replace(QLatin1String(" ["), QLatin1String("

[")); + title.replace(QLatin1String(" ("), QLatin1String("

(")); + title.replace(QLatin1String(") "), QLatin1String(")

")); titleLabel->setText(title); titleLabel->setVisible(window()->height() > 100); titleLabel->setFont(titleFont); @@ -90,11 +98,15 @@ void LoadingWidget::setVideo(Video *video) { QString videoDesc = video->description(); if (videoDesc.length() > maxDescLength) { videoDesc.truncate(maxDescLength-1); - videoDesc.append("..."); + videoDesc = videoDesc.trimmed(); + videoDesc.append("…"); + } else if (videoDesc.endsWith(QLatin1String(" ..."))) { + videoDesc = videoDesc.left(videoDesc.length() - 4); + videoDesc.append("…"); } + videoDesc.replace(QRegExp("(https?://\\S+)"), "\\1"); QFont descFont(titleFont); descFont.setPixelSize(descFont.pixelSize() / 2); - descFont.setHintingPreference(QFont::PreferNoHinting); descriptionLabel->setFont(descFont); descriptionLabel->setText(videoDesc); bool hiddenDesc = height() < 400; @@ -109,7 +121,7 @@ void LoadingWidget::setVideo(Video *video) { startTime.start(); } -void LoadingWidget::setError(QString message) { +void LoadingWidget::setError(const QString &message) { titleLabel->setText(tr("Error")); descriptionLabel->setText(message); // progressBar->hide();