Tip of the Day (#3118)

* Basic tip of the day with sample widget added

* "Show tips on startup" option added to settings

* tip cycling implemented

* Structure of the tipOfTheDay class and resource created

* tip getter function modified

* Resources added, feature works properly

* clangified

* accidental modification rolled back

* zach cleanup

* tips to spaces; cmake list combined

* cleanup img

* fix copy

* remove TOTD as QObject so we can copy construct it

* prevent mem leaks in dlg

* changed order of 'next' and 'previous' buttons

* Date and tip numbers added; content wraps around

* useless sizepolicy removed

* link support added & clangified

* Initial tips & memory management updates
This commit is contained in:
David Szabo 2018-03-02 09:11:18 +01:00 committed by Zach H
parent 281e52eaa9
commit 312caae062
24 changed files with 498 additions and 2 deletions

View file

@ -0,0 +1,48 @@
#ifndef DLG_TIPOFDAY_H
#define DLG_TIPOFDAY_H
#include <QComboBox>
#include <QDialog>
#include <QDialogButtonBox>
#include <QHBoxLayout>
#include <QLineEdit>
#include <QPushButton>
#include <QVBoxLayout>
class QLabel;
class QPushButton;
class QCheckBox;
class TipsOfTheDay;
class DlgTipOfTheDay : public QDialog
{
Q_OBJECT
public:
explicit DlgTipOfTheDay(QWidget *parent = nullptr);
~DlgTipOfTheDay() override;
bool successfulInit;
signals:
void newTipRequested(int tipId);
protected:
void resizeEvent(QResizeEvent *event) override;
private:
unsigned int currentTip;
TipsOfTheDay *tipDatabase;
QLabel *title, *tipTextContent, *imageLabel, *tipNumber, *date;
QCheckBox *showTipsOnStartupCheck;
QPixmap *image;
QVBoxLayout *content, *mainLayout;
QDialogButtonBox *buttonBox;
QPushButton *nextButton, *previousButton;
QHBoxLayout *buttonBar;
private slots:
void nextClicked();
void previousClicked();
void updateTip(int tipId);
};
#endif