Splashscreen ad support. Wait dialog for ad click/browser start.
[qtmads] / qtmadsexample / mainwindow.cpp
1 /*
2  * Copyright (c) 2009 Eetu Lehmusvuo.
3  */
4
5 #include "mainwindow.h"
6
7 #include "qtmadsadwidget.h"
8 #include "qtmadsbannerad.h"
9 #include "qtmadslabelad.h"
10 #include "qtmadsmediaad.h"
11
12 #include <QHBoxLayout>
13 #include <QPushButton>
14 #include <QDebug>
15 #include <QWidget>
16 #include <QUrl>
17 #include <QDesktopServices>
18 #include <QTimerEvent>
19
20 MainWindow::MainWindow(QWidget *parent)
21     : QMainWindow(parent)
22 {
23     widget = new QWidget(this);
24     mainLayout = new  QGridLayout(widget);
25
26     splashScreenAd = new QtmadsLabelAd("ADHERE", 0, noFit, this);
27     splashScreenAd->setAsImageAd();
28     mainLayout->addWidget(splashScreenAd);
29     splashScreenAd->startSingleShotAd(10);
30     connect(splashScreenAd, SIGNAL(adStopped()),this, SLOT(splashStopped()));
31
32     widget->setLayout(mainLayout);
33
34     this->setCentralWidget(widget);
35 }
36
37 void MainWindow::splashStopped()
38 {
39     qDebug() << "splashStopped()";
40     this->mainLayout->removeWidget(splashScreenAd);
41     splashScreenAd->clearAd();
42     this->init();
43 }
44
45 void MainWindow::init()
46 {
47     QtmadsBannerAd *adWidget1 = new QtmadsBannerAd("ADHERE", 0, noFit, this);
48     adWidget1->setAsBannerAd();
49     adWidget1->setSizePolicy(QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum));
50     adWidget1->setMaximumSize(QSize(216,36));
51     mainLayout->addWidget(adWidget1, 0, 0, 1, 2, Qt::AlignCenter);
52
53     QtmadsBannerAd *adWidget2 = new QtmadsBannerAd("ADHERE", 0, noFit, this);
54     adWidget2->setAsBannerAd();
55     adWidget2->setSizePolicy(QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum));
56     adWidget2->setMaximumSize(QSize(216,36));
57     mainLayout->addWidget(adWidget2, 0, 2, 1, 2, Qt::AlignCenter);
58
59     QtmadsBannerAd *adWidget3 = new QtmadsBannerAd("ADHERE", 0, noFit, this);
60     adWidget3->setAsTextBannerAd();
61     adWidget3->setAutoFillBackground(false);
62     adWidget3->setAdFontSize(18);
63     adWidget3->setSizePolicy(QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum));
64     adWidget3->setMaximumSize(QSize(216,36));
65     mainLayout->addWidget(adWidget3, 1, 0, 1, 2, Qt::AlignCenter);
66
67     QtmadsBannerAd *adWidget4 = new QtmadsBannerAd("ADHERE", 0, noFit, this);
68     adWidget4->setAsTextBannerAd();
69     adWidget4->setSizePolicy(QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum));
70     adWidget4->setMaximumSize(QSize(216,36));
71     mainLayout->addWidget(adWidget4, 1, 2, 1, 2, Qt::AlignCenter);
72
73     /*QtmadsLabelAd *adWidget5 = new QtmadsLabelAd("ADHERE", 0, noFit, this);
74     adWidget5->setAsImageAd();
75     mainLayout->addWidget(adWidget5, 2, 1, 1, 2, Qt::AlignCenter);
76
77     QtmadsMediaAd *audioAd = new QtmadsMediaAd("ADHERE", 0, noFit, this);
78     audioAd->setAsAudioAd();
79     layout->addWidget(audioAd);*/
80
81     adWidget1->startAd(30);
82     adWidget2->startAd(40);
83     adWidget3->startAd(30);
84     adWidget4->startAd(40);
85     /*adWidget5->startAd();
86     audioAd->startAd(30);*/
87 }
88
89 MainWindow::~MainWindow()
90 {
91
92 }