diff --git a/.gitignore b/.gitignore index 4a0b530..96b2672 100644 --- a/.gitignore +++ b/.gitignore @@ -1,74 +1,74 @@ -# This file is used to ignore files which are generated -# ---------------------------------------------------------------------------- - -*~ -*.autosave -*.a -*.core -*.moc -*.o -*.obj -*.orig -*.rej -*.so -*.so.* -*_pch.h.cpp -*_resource.rc -*.qm -.#* -*.*# -core -!core/ -tags -.DS_Store -.directory -*.debug -Makefile* -*.prl -*.app -moc_*.cpp -ui_*.h -qrc_*.cpp -Thumbs.db -*.res -*.rc -/.qmake.cache -/.qmake.stash - -# qtcreator generated files -*.pro.user* -CMakeLists.txt.user* - -# xemacs temporary files -*.flc - -# Vim temporary files -.*.swp - -# Visual Studio generated files -*.ib_pdb_index -*.idb -*.ilk -*.pdb -*.sln -*.suo -*.vcproj -*vcproj.*.*.user -*.ncb -*.sdf -*.opensdf -*.vcxproj -*vcxproj.* - -# MinGW generated files -*.Debug -*.Release - -# Python byte code -*.pyc - -# Binaries -# -------- -*.dll -*.exe - +# This file is used to ignore files which are generated +# ---------------------------------------------------------------------------- + +*~ +*.autosave +*.a +*.core +*.moc +*.o +*.obj +*.orig +*.rej +*.so +*.so.* +*_pch.h.cpp +*_resource.rc +*.qm +.#* +*.*# +core +!core/ +tags +.DS_Store +.directory +*.debug +Makefile* +*.prl +*.app +moc_*.cpp +ui_*.h +qrc_*.cpp +Thumbs.db +*.res +*.rc +/.qmake.cache +/.qmake.stash + +# qtcreator generated files +*.pro.user* +CMakeLists.txt.user* + +# xemacs temporary files +*.flc + +# Vim temporary files +.*.swp + +# Visual Studio generated files +*.ib_pdb_index +*.idb +*.ilk +*.pdb +*.sln +*.suo +*.vcproj +*vcproj.*.*.user +*.ncb +*.sdf +*.opensdf +*.vcxproj +*vcxproj.* + +# MinGW generated files +*.Debug +*.Release + +# Python byte code +*.pyc + +# Binaries +# -------- +*.dll +*.exe + diff --git a/CMakeLists.txt b/CMakeLists.txt index 2df350f..031bbc9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,70 +1,70 @@ -cmake_minimum_required(VERSION 3.5) - -project(Daily_Bread VERSION 0.1 LANGUAGES CXX) - -set(CMAKE_AUTOUIC ON) -set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTORCC ON) - -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) - -find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets) -find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets) - -set(PROJECT_SOURCES - main.cpp - mainwindow.cpp - mainwindow.h - mainwindow.ui -) - -if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) - qt_add_executable(Daily_Bread - MANUAL_FINALIZATION - ${PROJECT_SOURCES} - ) -# Define target properties for Android with Qt 6 as: -# set_property(TARGET Daily_Bread APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR -# ${CMAKE_CURRENT_SOURCE_DIR}/android) -# For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation -else() - if(ANDROID) - add_library(Daily_Bread SHARED - ${PROJECT_SOURCES} - ) -# Define properties for Android with Qt 5 after find_package() calls as: -# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android") - else() - add_executable(Daily_Bread - ${PROJECT_SOURCES} - ) - endif() -endif() - -target_link_libraries(Daily_Bread PRIVATE Qt${QT_VERSION_MAJOR}::Widgets) - -# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1. -# If you are developing for iOS or macOS you should consider setting an -# explicit, fixed bundle identifier manually though. -if(${QT_VERSION} VERSION_LESS 6.1.0) - set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.Daily_Bread) -endif() -set_target_properties(Daily_Bread PROPERTIES - ${BUNDLE_ID_OPTION} - MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} - MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} - MACOSX_BUNDLE TRUE - WIN32_EXECUTABLE TRUE -) - -include(GNUInstallDirs) -install(TARGETS Daily_Bread - BUNDLE DESTINATION . - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -) - -if(QT_VERSION_MAJOR EQUAL 6) - qt_finalize_executable(Daily_Bread) -endif() +cmake_minimum_required(VERSION 3.5) + +project(Daily_Bread VERSION 0.1 LANGUAGES CXX) + +set(CMAKE_AUTOUIC ON) +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets) +find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets) + +set(PROJECT_SOURCES + main.cpp + mainwindow.cpp + mainwindow.h + mainwindow.ui +) + +if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) + qt_add_executable(Daily_Bread + MANUAL_FINALIZATION + ${PROJECT_SOURCES} + ) +# Define target properties for Android with Qt 6 as: +# set_property(TARGET Daily_Bread APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR +# ${CMAKE_CURRENT_SOURCE_DIR}/android) +# For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation +else() + if(ANDROID) + add_library(Daily_Bread SHARED + ${PROJECT_SOURCES} + ) +# Define properties for Android with Qt 5 after find_package() calls as: +# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android") + else() + add_executable(Daily_Bread + ${PROJECT_SOURCES} + ) + endif() +endif() + +target_link_libraries(Daily_Bread PRIVATE Qt${QT_VERSION_MAJOR}::Widgets) + +# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1. +# If you are developing for iOS or macOS you should consider setting an +# explicit, fixed bundle identifier manually though. +if(${QT_VERSION} VERSION_LESS 6.1.0) + set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.Daily_Bread) +endif() +set_target_properties(Daily_Bread PROPERTIES + ${BUNDLE_ID_OPTION} + MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} + MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} + MACOSX_BUNDLE TRUE + WIN32_EXECUTABLE TRUE +) + +include(GNUInstallDirs) +install(TARGETS Daily_Bread + BUNDLE DESTINATION . + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +) + +if(QT_VERSION_MAJOR EQUAL 6) + qt_finalize_executable(Daily_Bread) +endif() diff --git a/main.cpp b/main.cpp index b31003d..83ede96 100644 --- a/main.cpp +++ b/main.cpp @@ -1,12 +1,12 @@ -#include "mainwindow.h" - -#include - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - MainWindow w; - w.show(); - - return a.exec(); -} +#include "mainwindow.h" + +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + MainWindow w; + w.show(); + + return a.exec(); +} diff --git a/mainwindow.cpp b/mainwindow.cpp index fb77688..8777573 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1,66 +1,71 @@ -/*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: 9/1/2023 - */ - -#include "mainwindow.h" -#include "./ui_mainwindow.h" -#include -#include -QString verse_display(); -std::string sqlite_func(int day); - - -MainWindow::MainWindow(QWidget *parent) - : QMainWindow(parent) - , ui(new Ui::MainWindow) -{ - ui->setupUi(this); - ui->verse->setText(verse_display()); -} - -MainWindow::~MainWindow() -{ - - delete ui; -} - -//As name implies, randomly chooses a number between 1 and 100. -int random_verse(){ - std::random_device rd; - std:: uniform_int_distribution dist(1, 100); - return dist(rd); -} - -//This is the function that will load the verse into the program. -QString verse_display() -{ - std::string verse_text; - int verse_day = random_verse(); - verse_text = sqlite_func(verse_day); - - - - return "It is receiving text from verse_display()"; -} - - -std::string sqlite_func(int day){ - - std::string my_verse; - - return my_verse; - -} - - - - -void MainWindow::on_exitButton_clicked() -{ - QApplication::quit(); -} - +/*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: 9/1/2023 + */ + +#include "mainwindow.h" +#include "./ui_mainwindow.h" +#include +#include + + + + + +QString verse_display(); +std::string verse_grab(int day); + + +MainWindow::MainWindow(QWidget *parent) + : QMainWindow(parent) + , ui(new Ui::MainWindow) +{ + ui->setupUi(this); + ui->verse->setText(verse_display()); +} + +MainWindow::~MainWindow() +{ + + delete ui; +} + +//As name implies, randomly chooses a number between 1 and 100. +int random_verse(){ + std::random_device rd; + std:: uniform_int_distribution dist(1, 100); + return dist(rd); +} + +//This is the function that will load the verse into the program. +QString verse_display() +{ + std::string verse_text; + int verse_day = random_verse(); + verse_text = verse_grab(verse_day); + + QString returned_string = QString::fromStdString(verse_text); + + return returned_string; +} + + +std::string verse_grab(int day){ + + std::string my_verse; + my_verse = "Hello, this is a verse!"; + return my_verse; + +} + + + + +void MainWindow::on_exitButton_clicked() +{ + QApplication::quit(); +} + diff --git a/mainwindow.h b/mainwindow.h index 07648f3..d8c4d94 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -1,26 +1,26 @@ -#ifndef MAINWINDOW_H -#define MAINWINDOW_H - -#include - -QT_BEGIN_NAMESPACE -namespace Ui { class MainWindow; } -QT_END_NAMESPACE - -class MainWindow : public QMainWindow -{ - Q_OBJECT - -public: - MainWindow(QWidget *parent = nullptr); - ~MainWindow(); - -private slots: - void on_exitButton_clicked(); - - - -private: - Ui::MainWindow *ui; -}; -#endif // MAINWINDOW_H +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include + +QT_BEGIN_NAMESPACE +namespace Ui { class MainWindow; } +QT_END_NAMESPACE + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + MainWindow(QWidget *parent = nullptr); + ~MainWindow(); + +private slots: + void on_exitButton_clicked(); + + + +private: + Ui::MainWindow *ui; +}; +#endif // MAINWINDOW_H diff --git a/mainwindow.ui b/mainwindow.ui index a4fd526..9704670 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -1,83 +1,83 @@ - - - MainWindow - - - - 0 - 0 - 387 - 600 - - - - Daily Bread - - - - bread.pngbread.png - - - - - - 150 - 490 - 80 - 24 - - - - Go in Peace - - - - - - 10 - 20 - 361 - 161 - - - - TextLabel - - - Qt::AlignCenter - - - - - - - 0 - 0 - 387 - 21 - - - - - File - - - - - - - - - - bookmark verse - - - - - exit - - - - - - + + + MainWindow + + + + 0 + 0 + 387 + 600 + + + + Daily Bread + + + + bread.pngbread.png + + + + + + 150 + 490 + 80 + 24 + + + + Go in Peace + + + + + + 10 + 20 + 361 + 161 + + + + TextLabel + + + Qt::AlignCenter + + + + + + + 0 + 0 + 387 + 21 + + + + + File + + + + + + + + + + bookmark verse + + + + + exit + + + + + + diff --git a/verses b/verses new file mode 100644 index 0000000..6342092 Binary files /dev/null and b/verses differ