/*Author: Daniel Jones *IDE: QT Creator *Compiler: MinGW *OS: Windows 10 *Purpose: QT Widget that displays the verse of the day upon Windows 10 bootup. * Last edited: 1/3/2024 */ #include "mainwindow.h" #include "./ui_mainwindow.h" #include #include #include //Function declarations int current_day(); int current_month(); QString verse_display(); std::string verse_grab(); MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); ui->verse->setText(verse_display()); std::cout << current_day(); std::cout << current_month(); } MainWindow::~MainWindow() { delete ui; } /* * Function: verse_display * description: This function asks verse_grab to get the verse from the sqlite3 database, converts it * to a format that QT can display, and then returns it to MainWindow. * Return type: QString * Param: none */ QString verse_display() { std::string verse_text; verse_text = verse_grab(); QString returned_string = QString::fromStdString(verse_text); return returned_string; } /* * Function: verse_grab * description: selects the verse based on the current day and returns the result * Return type: string * Param: none */ std::string verse_grab(){ std::string my_verse; //gets current month and day and returns the result int curmonth = current_month(); int curday = current_day(); std::string query = "select * from verses where day = " + std::to_string(curday) + " and month = " + std::to_string(curmonth); //placeholder until I get the SQLlite3 connection working my_verse = "hello world!"; return my_verse; } //UI function that exits when the "go in peace" button is pressed. void MainWindow::on_exitButton_clicked() { QApplication::quit(); } //Everything below this grabs the day and month. typedef std::chrono::system_clock Clock; /* * Function: current_day * description: queries the operating system for the current day * Return type: integer * Param: none */ int current_day(){ auto now = Clock::now(); std::time_t now_c = Clock::to_time_t(now); struct tm *parts = std::localtime(&now_c); int day = parts->tm_mday; return day; } /* * Function: current_month * description: queries the operating system for the current month * Return type: integer * Param: none */ int current_month(){ auto now = Clock::now(); std::time_t now_c = Clock::to_time_t(now); struct tm *parts = std::localtime(&now_c); int month = 1 + parts->tm_mon; return month; }