File indexing completed on 2024-05-12 16:27:25

0001 /*
0002   SPDX-FileCopyrightText: 2023-2024 Laurent Montel <montel.org>
0003 
0004   SPDX-License-Identifier: GPL-2.0-or-later
0005   code based on kdenlive
0006 */
0007 
0008 #include "needupdateversionwidget.h"
0009 #include "ruqolawidgets_debug.h"
0010 #include <KLocalizedString>
0011 #include <QAction>
0012 
0013 NeedUpdateVersionWidget::NeedUpdateVersionWidget(QWidget *parent)
0014     : KMessageWidget(parent)
0015 {
0016     setVisible(false);
0017 #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
0018     setPosition(KMessageWidget::Header);
0019 #endif
0020     setCloseButtonVisible(true);
0021     auto action = new QAction(i18n("Disable version check"), this);
0022     addAction(action);
0023     connect(action, &QAction::triggered, this, &NeedUpdateVersionWidget::slotDisableVersionCheck);
0024 }
0025 
0026 NeedUpdateVersionWidget::~NeedUpdateVersionWidget() = default;
0027 
0028 void NeedUpdateVersionWidget::setObsoleteVersion(NeedUpdateVersionUtils::ObsoleteVersion obsolete)
0029 {
0030     switch (obsolete) {
0031     case NeedUpdateVersionUtils::ObsoleteVersion::Unknown:
0032         qCWarning(RUQOLAWIDGETS_LOG) << "Unknown value: seems to be a bug";
0033         break;
0034     case NeedUpdateVersionUtils::ObsoleteVersion::OlderThan6Months:
0035         setMessageType(KMessageWidget::Information);
0036         setText(i18n("Your version is older than 6 months, we encourage you to upgrade."));
0037         animatedShow();
0038         break;
0039     case NeedUpdateVersionUtils::ObsoleteVersion::OlderThan12Months:
0040         setMessageType(KMessageWidget::Warning);
0041         setText(i18n("Your version is older than 1 year, we strongly encourage you to upgrade."));
0042         animatedShow();
0043         break;
0044     case NeedUpdateVersionUtils::ObsoleteVersion::NotObsoleteYet:
0045         // It's ok
0046         break;
0047     }
0048 }
0049 
0050 void NeedUpdateVersionWidget::slotDisableVersionCheck()
0051 {
0052     NeedUpdateVersionUtils::disableCheckVersion();
0053     animatedHide();
0054 }
0055 
0056 #include "moc_needupdateversionwidget.cpp"