143 lines
4.4 KiB
C++
143 lines
4.4 KiB
C++
#include "mainwindow.h"
|
|
#include "tiercard.hpp"
|
|
#include "tierrow.hpp"
|
|
#include "tiercardlayout.hpp"
|
|
#include "utils.hpp"
|
|
#include "rowholder.hpp"
|
|
#include "settings.hpp"
|
|
|
|
#include <QApplication>
|
|
#include <QNetworkAccessManager>
|
|
#include <QNetworkReply>
|
|
#include <QImageReader>
|
|
#include <QTimer>
|
|
#include <QDockWidget>
|
|
#include <QScrollArea>
|
|
|
|
// int main(int argc, char *argv[])
|
|
// {
|
|
// QApplication a(argc, argv);
|
|
// // MainWindow w;
|
|
// // w.show();
|
|
// TierCard card;
|
|
// // card.setGeometry(0, 0, 200, 200);
|
|
// card.setFixedSize(200, 200);
|
|
// card.set_text("SOME TEXT");
|
|
// card.set_bg_color(QColor(255, 255, 255));
|
|
// card.show();
|
|
|
|
// QNetworkAccessManager qnam;
|
|
// QNetworkRequest req(QUrl("https://upload.wikimedia.org/wikipedia/en/4/4d/Shrek_%28character%29.png"));
|
|
// auto resp = qnam.get(req);
|
|
// QObject::connect(resp, &QNetworkReply::finished, [&card, resp]()
|
|
// {
|
|
// QImageReader reader(resp);
|
|
// reader.setAutoDetectImageFormat(true);
|
|
// QPixmap image = QPixmap::fromImageReader(&reader);
|
|
// card.set_image(image);
|
|
// });
|
|
|
|
// int fontSize = 10;
|
|
// QColor bg_switcher(255, 128, 128);
|
|
// QTimer bg_changer;
|
|
// bg_changer.setTimerType(Qt::PreciseTimer);
|
|
// bg_changer.setSingleShot(false);
|
|
// bg_changer.setInterval(1000);
|
|
// QObject::connect(&bg_changer, &QTimer::timeout, [&card, &bg_switcher, &fontSize, &a]()
|
|
// {
|
|
// card.set_bg_color(bg_switcher);
|
|
// a.setStyleSheet(QString("*[cssClass=\"tierCardText\"]{font-size: %1pt}").arg(fontSize));
|
|
// bg_switcher = QColor(bg_switcher.green(), bg_switcher.blue(), bg_switcher.red());
|
|
// fontSize+=3;
|
|
// });
|
|
// bg_changer.start();
|
|
|
|
// return a.exec();
|
|
// }
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
auto settings = Settings::getSettable();
|
|
settings->setCardSize(150, 150);
|
|
settings->setRowFade(.8f);
|
|
QApplication a(argc, argv);
|
|
MainWindow w;
|
|
settings->setMainWindow(&w);
|
|
// QDockWidget dock;
|
|
QScrollArea scroll;
|
|
TierRow* row = TierRow::create();
|
|
row->setColor(QColor(255, 128, 64));
|
|
row->setText("Row Title");
|
|
TierCard* card1 = TierCard::create();
|
|
row->setStyleSheet(makeBgColorString(QColor(35,35,35)));
|
|
card1->setText("CARD1");
|
|
card1->setBgColor(QColor(64,255,64));
|
|
TierCard* card2 = TierCard::create();
|
|
card2->setText("CARD2");
|
|
card2->setBgColor(QColor(64,64,255));
|
|
row->addCard(card1);
|
|
row->addCard(card2);
|
|
|
|
TierRow* row2 = TierRow::create();
|
|
row2->setColor(QColor(128, 128, 255));
|
|
row2->setText("Row Title");
|
|
TierCard* card3 = TierCard::create();
|
|
card3->setText("CARD1");
|
|
card3->setBgColor(QColor(64,12,164));
|
|
TierCard* card4 = TierCard::create();
|
|
card4->setText("CARD2");
|
|
card4->setBgColor(QColor(164,64,155));
|
|
auto card5 = TierCard::clone(card4);
|
|
row->addCard(card5);
|
|
row2->addCard(card3);
|
|
row2->addCard(card4);
|
|
// row.show();
|
|
|
|
RowHolder holder;
|
|
holder.setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Fixed);
|
|
// auto holderLayout = new QVBoxLayout();
|
|
holder.addRow(row);
|
|
holder.addRow(row2);
|
|
|
|
scroll.setWidget(&holder);
|
|
scroll.setWidgetResizable(true);
|
|
// dock.setWidget(&scroll);
|
|
// w.dockWidgetArea(&dock);
|
|
w.setCentralWidget(&scroll);
|
|
w.show();
|
|
|
|
w.setStyleSheet(a.styleSheet()
|
|
.append("#tierCardText {"
|
|
" font-style: bold;"
|
|
" font-size: 52; }")
|
|
.append("#tierCardId {"
|
|
" font-size: 24; }"));
|
|
// a.setFont()
|
|
// QTimer bg_changer;
|
|
// bg_changer.setTimerType(Qt::PreciseTimer);
|
|
// bg_changer.setSingleShot(true);
|
|
// bg_changer.setInterval(2000);
|
|
// QObject::connect(&bg_changer, &QTimer::timeout, [&settings]()
|
|
// {
|
|
// // row.updateGeometry();
|
|
// settings->setCardSize(250,100);
|
|
// });
|
|
// bg_changer.start();
|
|
// w.show();
|
|
|
|
// callOnMeAndChildren<TierRow>(&row, [](TierRow* obj)
|
|
// {
|
|
// auto wid = dynamic_cast<QWidget*>(obj);
|
|
// if (wid)
|
|
// {
|
|
// auto size = wid->minimumSize();
|
|
// if (std::max(size.height(), size.width()) >= 200)
|
|
// {
|
|
// qDebug() << wid->objectName() << ": " << size;
|
|
// }
|
|
// }
|
|
// });
|
|
// qDebug() << row.minimumSize() << row.layout()->minimumSize();
|
|
return a.exec();
|
|
}
|