Ref T165, directly display distributions info

* use digest signal to avoid unnecessary signals
* better user experience by directly displaying info
This commit is contained in:
Klaus Basan
2017-09-27 19:35:09 +02:00
parent 15e46ba94a
commit a5a32a1722
2 changed files with 17 additions and 15 deletions

View File

@@ -16,6 +16,7 @@
#include "blackgui/blackguiexport.h"
#include "blackmisc/db/distributionlist.h"
#include "blackmisc/settingscache.h"
#include "blackmisc/digestsignal.h"
#include <QFrame>
namespace Ui { class CDistributionInfoComponent; }
@@ -77,15 +78,18 @@ namespace BlackGui
private:
QScopedPointer<Ui::CDistributionInfoComponent> ui;
QScopedPointer<CInstallXSwiftBusDialog> m_installXSwiftBusDialog; //!< dialog, install XSwiftXBus
bool m_distributionsLoaded = false; //!< distribution info loaded
QString m_newVersionAvailable; //!< new version number if any
BlackMisc::Db::CDistribution m_currentDistribution; //!< current distribution
BlackMisc::CDataReadOnly<BlackMisc::Db::TDistributionsInfo> m_distributionsInfo { this, &CDistributionInfoComponent::ps_changedDistributionCache }; //!< version cache
BlackMisc::CSetting<BlackCore::Application::TDistribution> m_distributionSetting { this }; //!< channel/platform selected
BlackMisc::CDigestSignal m_dsDistributionAvailable { this, &CDistributionInfoComponent::triggerInfoAvailableSignal, 10000, 2 };
//! Save the current settings
void saveSettings();
//! Trigger the CDistributionInfoComponent::distributionInfoAvailable signal
void triggerInfoAvailableSignal();
//! Selected platform from UI or guessed platform
QString getSelectedOrGuessedPlatform() const;
};