Splashscreen ad support. Wait dialog for ad click/browser start.
[qtmads] / qtmadsexample / mainwindow.cpp
index 80cad91..8aae89c 100644 (file)
 #include <QWidget>
 #include <QUrl>
 #include <QDesktopServices>
+#include <QTimerEvent>
 
 MainWindow::MainWindow(QWidget *parent)
     : QMainWindow(parent)
 {
-    QWidget *widget = new QWidget(this);
-       QGridLayout *layout = new  QGridLayout(widget);
+    widget = new QWidget(this);
+    mainLayout = new  QGridLayout(widget);
 
-       QtmadsBannerAd *adWidget1 = new QtmadsBannerAd("ADHERE", 0, noFit, this);
-       adWidget1->setAsBannerAd();
-       adWidget1->setSizePolicy(QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum));
-       adWidget1->setMaximumSize(QSize(216,36));
-    layout->addWidget(adWidget1, 0, 0, 1, 2, Qt::AlignCenter);
+    splashScreenAd = new QtmadsLabelAd("ADHERE", 0, noFit, this);
+    splashScreenAd->setAsImageAd();
+    mainLayout->addWidget(splashScreenAd);
+    splashScreenAd->startSingleShotAd(10);
+    connect(splashScreenAd, SIGNAL(adStopped()),this, SLOT(splashStopped()));
+
+    widget->setLayout(mainLayout);
+
+    this->setCentralWidget(widget);
+}
+
+void MainWindow::splashStopped()
+{
+    qDebug() << "splashStopped()";
+    this->mainLayout->removeWidget(splashScreenAd);
+    splashScreenAd->clearAd();
+    this->init();
+}
+
+void MainWindow::init()
+{
+    QtmadsBannerAd *adWidget1 = new QtmadsBannerAd("ADHERE", 0, noFit, this);
+    adWidget1->setAsBannerAd();
+    adWidget1->setSizePolicy(QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum));
+    adWidget1->setMaximumSize(QSize(216,36));
+    mainLayout->addWidget(adWidget1, 0, 0, 1, 2, Qt::AlignCenter);
 
     QtmadsBannerAd *adWidget2 = new QtmadsBannerAd("ADHERE", 0, noFit, this);
     adWidget2->setAsBannerAd();
     adWidget2->setSizePolicy(QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum));
     adWidget2->setMaximumSize(QSize(216,36));
-    layout->addWidget(adWidget2, 0, 2, 1, 2, Qt::AlignCenter);
+    mainLayout->addWidget(adWidget2, 0, 2, 1, 2, Qt::AlignCenter);
 
     QtmadsBannerAd *adWidget3 = new QtmadsBannerAd("ADHERE", 0, noFit, this);
     adWidget3->setAsTextBannerAd();
@@ -40,32 +62,28 @@ MainWindow::MainWindow(QWidget *parent)
     adWidget3->setAdFontSize(18);
     adWidget3->setSizePolicy(QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum));
     adWidget3->setMaximumSize(QSize(216,36));
-    layout->addWidget(adWidget3, 1, 0, 1, 2, Qt::AlignCenter);
+    mainLayout->addWidget(adWidget3, 1, 0, 1, 2, Qt::AlignCenter);
 
     QtmadsBannerAd *adWidget4 = new QtmadsBannerAd("ADHERE", 0, noFit, this);
     adWidget4->setAsTextBannerAd();
     adWidget4->setSizePolicy(QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum));
     adWidget4->setMaximumSize(QSize(216,36));
-    layout->addWidget(adWidget4, 1, 2, 1, 2, Qt::AlignCenter);
+    mainLayout->addWidget(adWidget4, 1, 2, 1, 2, Qt::AlignCenter);
 
-    QtmadsLabelAd *adWidget5 = new QtmadsLabelAd("ADHERE", 0, noFit, this);
+    /*QtmadsLabelAd *adWidget5 = new QtmadsLabelAd("ADHERE", 0, noFit, this);
     adWidget5->setAsImageAd();
-    layout->addWidget(adWidget5, 2, 1, 1, 2, Qt::AlignCenter);
+    mainLayout->addWidget(adWidget5, 2, 1, 1, 2, Qt::AlignCenter);
 
     QtmadsMediaAd *audioAd = new QtmadsMediaAd("ADHERE", 0, noFit, this);
     audioAd->setAsAudioAd();
-    layout->addWidget(audioAd);
+    layout->addWidget(audioAd);*/
 
     adWidget1->startAd(30);
     adWidget2->startAd(40);
     adWidget3->startAd(30);
     adWidget4->startAd(40);
-    adWidget5->startAd();
-    audioAd->startAd(30);
-
-    widget->setLayout(layout);
-
-    this->setCentralWidget(widget);
+    /*adWidget5->startAd();
+    audioAd->startAd(30);*/
 }
 
 MainWindow::~MainWindow()