1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
/*
SPDX-FileCopyrightText: 2023-2026 Laurent Montel <montel@kde.org>
SPDX-License-Identifier: GPL-2.0-or-later
code based on kdenlive
*/
#include "needupdateversionwidget.h"
#include "textaddonswidgets_debug.h"
#include <KLocalizedString>
using namespace TextAddonsWidgets;
NeedUpdateVersionWidget::NeedUpdateVersionWidget(QWidget *parent)
: KMessageWidget(parent)
{
setVisible(false);
setPosition(KMessageWidget::Header);
setCloseButtonVisible(true);
auto action = new QAction(i18nc("@action", "Disable version check"), this);
addAction(action);
connect(action, &QAction::triggered, this, &NeedUpdateVersionWidget::slotDisableVersionCheck);
}
NeedUpdateVersionWidget::~NeedUpdateVersionWidget() = default;
void NeedUpdateVersionWidget::setObsoleteVersion(NeedUpdateVersionUtils::ObsoleteVersion obsolete)
{
if (TextAddonsWidgets::NeedUpdateVersionUtils::checkVersion()) {
switch (obsolete) {
case NeedUpdateVersionUtils::ObsoleteVersion::Unknown:
qCWarning(TEXTADDONSWIDGETS_LOG) << "Unknown value: seems to be a bug";
break;
case NeedUpdateVersionUtils::ObsoleteVersion::OlderThan6Months:
setMessageType(KMessageWidget::Information);
setText(i18n("Your version is older than 6 months, we encourage you to upgrade."));
animatedShow();
break;
case NeedUpdateVersionUtils::ObsoleteVersion::OlderThan12Months:
setMessageType(KMessageWidget::Warning);
setText(i18n("Your version is older than 1 year, we strongly encourage you to upgrade."));
animatedShow();
break;
case NeedUpdateVersionUtils::ObsoleteVersion::NotObsoleteYet:
// It's ok
break;
}
}
}
void NeedUpdateVersionWidget::slotDisableVersionCheck()
{
TextAddonsWidgets::NeedUpdateVersionUtils::disableCheckVersion();
animatedHide();
}
#include "moc_needupdateversionwidget.cpp"
|