1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-13 20:48:42 +01:00
LibrePilot/ground/openpilotgcs/src/plugins/welcome/welcomemode.h
dwillis 139f9c5276 OP-1453 - Add code to query latest version from web and set up
properties that can be used by the main form to display an 'update
available' notification if latest version doesn't match the current one.
2014-08-23 02:05:12 +01:00

101 lines
2.7 KiB
C++

/**
******************************************************************************
*
* @file welcomemode.h
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
* Parts by Nokia Corporation (qt-info@nokia.com) Copyright (C) 2009.
* @addtogroup GCSPlugins GCS Plugins
* @{
* @addtogroup WelcomePlugin Welcome Plugin
* @{
* @brief The GCS Welcome plugin
*****************************************************************************/
/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef WELCOMEMODE_H
#define WELCOMEMODE_H
#include "version_info/version_info.h"
#include "welcome_global.h"
#include <coreplugin/imode.h>
QT_BEGIN_NAMESPACE
class QWidget;
class QUrl;
class QNetworkReply;
QT_END_NAMESPACE
namespace Welcome {
struct WelcomeModePrivate;
class WELCOME_EXPORT WelcomeMode : public Core::IMode {
Q_OBJECT
Q_PROPERTY(QString versionString READ versionString)
Q_PROPERTY(QString newVersionText READ newVersionText NOTIFY newVersionTextChanged)
public:
WelcomeMode();
~WelcomeMode();
// IMode
QString name() const;
QIcon icon() const;
int priority() const;
QWidget *widget();
const char *uniqueModeName() const;
QList<int> context() const;
void activated();
QString contextHelpId() const
{
return QLatin1String("OpenPilot GCS");
}
void setPriority(int priority)
{
m_priority = priority;
}
QString versionString() const
{
return tr("OpenPilot GCS Version: %1").arg(VersionInfo::revision());
}
QString newVersionText() const
{
return m_newVersionText;
}
signals:
void newVersionTextChanged();
public slots:
void openUrl(const QString &url);
void openPage(const QString &page);
void triggerAction(const QString &actionId);
private:
QWidget *m_container;
WelcomeModePrivate *m_d;
int m_priority;
QString m_newVersionText;
private slots:
void networkResponseReady(QNetworkReply* reply);
};
} // namespace Welcome
#endif // WELCOMEMODE_H