From 1f0c2333d0e955073014eea56a874af384bc163e Mon Sep 17 00:00:00 2001 From: David Sansome Date: Sat, 5 Nov 2011 21:46:34 +0000 Subject: [PATCH] Show the di.fm/sky.fm "Expires on" date on a separate line --- data/data.qrc | 1 + data/icons/22x22/user-away.png | Bin 0 -> 3368 bytes .../digitallyimportedsettingspage.cpp | 6 ++-- src/translations/translations.pot | 14 ++++---- src/widgets/loginstatewidget.cpp | 11 ++++++ src/widgets/loginstatewidget.h | 3 ++ src/widgets/loginstatewidget.ui | 32 ++++++++++++++++++ 7 files changed, 57 insertions(+), 10 deletions(-) create mode 100644 data/icons/22x22/user-away.png diff --git a/data/data.qrc b/data/data.qrc index d04679997..da717803a 100644 --- a/data/data.qrc +++ b/data/data.qrc @@ -332,5 +332,6 @@ allthethings.png globalsearch.css clementine-spotify-public.pem + icons/22x22/user-away.png diff --git a/data/icons/22x22/user-away.png b/data/icons/22x22/user-away.png new file mode 100644 index 0000000000000000000000000000000000000000..f16d92b0ca36096bf931b8defdf5b56003f95dcc GIT binary patch literal 3368 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::LoggedOut); + ui_->login_state->SetExpires(QDate()); ui_->login_state->SetAccountTypeVisible(true); } else { - ui_->login_state->SetLoggedIn( - LoginStateWidget::LoggedIn, - name + " (" + tr("Expires on %1").arg(expires.date().toString(Qt::SystemLocaleLongDate)) + ")"); + ui_->login_state->SetLoggedIn(LoginStateWidget::LoggedIn, name); + ui_->login_state->SetExpires(expires.date()); ui_->login_state->SetAccountTypeVisible(false); } diff --git a/src/translations/translations.pot b/src/translations/translations.pot index 410a3791f..58cdf257a 100644 --- a/src/translations/translations.pot +++ b/src/translations/translations.pot @@ -1628,7 +1628,7 @@ msgstr "" msgid "Except between tracks on the same album or in the same CUE sheet" msgstr "" -#: internet/digitallyimportedsettingspage.cpp:95 +#: widgets/loginstatewidget.cpp:112 #, qt-format msgid "Expires on %1" msgstr "" @@ -1811,7 +1811,7 @@ msgstr "" #: ../bin/src/ui_transcoderoptionsspeex.h:216 #: ../bin/src/ui_transcoderoptionsvorbis.h:201 #: ../bin/src/ui_transcoderoptionswma.h:78 ../bin/src/ui_equalizerslider.h:82 -#: ../bin/src/ui_fileview.h:106 ../bin/src/ui_loginstatewidget.h:145 +#: ../bin/src/ui_fileview.h:106 ../bin/src/ui_loginstatewidget.h:171 #: ../bin/src/ui_trackslider.h:69 ../bin/src/ui_visualisationoverlay.h:178 msgid "Form" msgstr "" @@ -3597,11 +3597,11 @@ msgstr "" msgid "Shuffle playlist" msgstr "" -#: ../bin/src/ui_remotesettingspage.h:202 ../bin/src/ui_loginstatewidget.h:147 +#: ../bin/src/ui_remotesettingspage.h:202 ../bin/src/ui_loginstatewidget.h:173 msgid "Sign out" msgstr "" -#: ../bin/src/ui_loginstatewidget.h:149 +#: ../bin/src/ui_loginstatewidget.h:175 msgid "Signing in..." msgstr "" @@ -4352,16 +4352,16 @@ msgstr "" msgid "You are about to download the following albums" msgstr "" -#: ../bin/src/ui_loginstatewidget.h:146 +#: ../bin/src/ui_loginstatewidget.h:172 msgid "You are not signed in." msgstr "" -#: widgets/loginstatewidget.cpp:67 +#: widgets/loginstatewidget.cpp:69 #, qt-format msgid "You are signed in as %1." msgstr "" -#: widgets/loginstatewidget.cpp:65 +#: widgets/loginstatewidget.cpp:67 msgid "You are signed in." msgstr "" diff --git a/src/widgets/loginstatewidget.cpp b/src/widgets/loginstatewidget.cpp index 93ee5ee0a..e4e23ceae 100644 --- a/src/widgets/loginstatewidget.cpp +++ b/src/widgets/loginstatewidget.cpp @@ -19,6 +19,7 @@ #include "ui_loginstatewidget.h" #include "ui/iconloader.h" +#include #include LoginStateWidget::LoginStateWidget(QWidget* parent) @@ -27,6 +28,7 @@ LoginStateWidget::LoginStateWidget(QWidget* parent) { ui_->setupUi(this); ui_->signed_in->hide(); + ui_->expires->hide(); ui_->account_type->hide(); ui_->busy->hide(); @@ -102,3 +104,12 @@ bool LoginStateWidget::eventFilter(QObject* object, QEvent* event) { return QWidget::eventFilter(object, event); } +void LoginStateWidget::SetExpires(const QDate& expires) { + ui_->expires->setVisible(expires.isValid()); + + if (expires.isValid()) { + const QString expires_text = expires.toString(Qt::SystemLocaleLongDate); + ui_->expires_label->setText(tr("Expires on %1").arg("" + expires_text + "")); + } +} + diff --git a/src/widgets/loginstatewidget.h b/src/widgets/loginstatewidget.h index afcbaa484..1651b1a69 100644 --- a/src/widgets/loginstatewidget.h +++ b/src/widgets/loginstatewidget.h @@ -18,6 +18,7 @@ #ifndef LOGINSTATEWIDGET_H #define LOGINSTATEWIDGET_H +#include #include class Ui_LoginStateWidget; @@ -57,6 +58,8 @@ public slots: void SetAccountTypeText(const QString& text); void SetAccountTypeVisible(bool visible); + void SetExpires(const QDate& expires); + signals: void LogoutClicked(); void LoginClicked(); diff --git a/src/widgets/loginstatewidget.ui b/src/widgets/loginstatewidget.ui index af62cbc65..cb0bf3ef4 100644 --- a/src/widgets/loginstatewidget.ui +++ b/src/widgets/loginstatewidget.ui @@ -97,6 +97,38 @@ + + + + + 0 + + + + + + 22 + 22 + + + + :/icons/22x22/user-away.png + + + + + + + + 0 + 0 + + + + + + +