fiffty-50 4 роки тому
батько
коміт
201834ce2f
7 змінених файлів з 140 додано та 2 видалено
  1. 1 1
      logbookwidget.cpp
  2. 2 0
      main.cpp
  3. 4 1
      mainwindow.cpp
  4. 3 0
      openLog.pro
  5. 40 0
      settingswidget.cpp
  6. 22 0
      settingswidget.h
  7. 68 0
      settingswidget.ui

+ 1 - 1
logbookwidget.cpp

@@ -50,7 +50,7 @@ logbookWidget::logbookWidget(QWidget *parent) :
 
     auto stop = std::chrono::high_resolution_clock::now();
     auto duration = std::chrono::duration_cast<std::chrono::microseconds>(stop - start);
-    qDebug() << "homeWidget: Time taken for lookup and rendering: " << duration.count() << " microseconds";
+    qDebug() << "logbookWidget: Time taken for lookup and rendering: " << duration.count() << " microseconds";
 }
 
 logbookWidget::~logbookWidget()

+ 2 - 0
main.cpp

@@ -41,11 +41,13 @@ int main(int argc, char *argv[])
     selectedtheme = db::retreiveSetting("10")[1].toInt();
     QDir::setCurrent("/themes");
     if (selectedtheme == 1){
+        qDebug() << "Loading light theme";
         QFile file(":light.qss");
         file.open(QFile::ReadOnly | QFile::Text);
         QTextStream stream(&file);
         openLog.setStyleSheet(stream.readAll());
     }else if (selectedtheme == 2){
+        qDebug() << "Loading dark theme";
         QFile file(":dark.qss");
         file.open(QFile::ReadOnly | QFile::Text);
         QTextStream stream(&file);

+ 4 - 1
mainwindow.cpp

@@ -25,6 +25,7 @@
 #include "calc.h"
 #include "homewidget.h"
 #include "logbookwidget.h"
+#include "settingswidget.h"
 #include <QTime>
 #include <QSqlDatabase>
 #include <QSqlDriver>
@@ -121,5 +122,7 @@ void MainWindow::on_actionLogbook_triggered()
 
 void MainWindow::on_actionSettings_triggered()
 {
-    nope();
+    auto sw = new settingsWidget(this);
+    ui->stackedWidget->addWidget(sw);
+    ui->stackedWidget->setCurrentWidget(sw);
 }

+ 3 - 0
openLog.pro

@@ -31,6 +31,7 @@ SOURCES += \
     mainwindow.cpp \
     newacft.cpp \
     newflight.cpp \
+    settingswidget.cpp \
     showaircraftlist.cpp \
 
 HEADERS += \
@@ -42,6 +43,7 @@ HEADERS += \
     mainwindow.h \
     newacft.h \
     newflight.h \
+    settingswidget.h \
     showaircraftlist.h \
 
 FORMS += \
@@ -52,6 +54,7 @@ FORMS += \
     mainwindow.ui \
     newacft.ui \
     newflight.ui \
+    settingswidget.ui \
     showaircraftlist.ui \
 
 # Default rules for deployment.

+ 40 - 0
settingswidget.cpp

@@ -0,0 +1,40 @@
+#include "settingswidget.h"
+#include "ui_settingswidget.h"
+#include "dbman.cpp"
+#include <QButtonGroup>
+#include <QDebug>
+
+
+
+settingsWidget::settingsWidget(QWidget *parent) :
+    QWidget(parent),
+    ui(new Ui::settingsWidget)
+{
+    ui->setupUi(this);
+
+    auto themeGroup = new QButtonGroup;
+    themeGroup->addButton(ui->systemThemeCheckBox);
+    themeGroup->addButton(ui->lightThemeCheckBox);
+    themeGroup->addButton(ui->darkThemeCheckBox);
+
+    int themeSetting = db::retreiveSetting("10")[1].toInt();
+    qDebug() << themeSetting;
+    switch (themeSetting) {
+      case 0:
+        qDebug() << "System Theme";
+        ui->systemThemeCheckBox->setChecked(true);
+        break;
+      case 1:
+        qDebug() << "Light Theme";
+        ui->lightThemeCheckBox->setChecked(true);
+        break;
+      case 2:
+        qDebug() << "Dark Theme";
+        ui->darkThemeCheckBox->setChecked(true);
+    }
+}
+
+settingsWidget::~settingsWidget()
+{
+    delete ui;
+}

+ 22 - 0
settingswidget.h

@@ -0,0 +1,22 @@
+#ifndef SETTINGSWIDGET_H
+#define SETTINGSWIDGET_H
+
+#include <QWidget>
+
+namespace Ui {
+class settingsWidget;
+}
+
+class settingsWidget : public QWidget
+{
+    Q_OBJECT
+
+public:
+    explicit settingsWidget(QWidget *parent = nullptr);
+    ~settingsWidget();
+
+private:
+    Ui::settingsWidget *ui;
+};
+
+#endif // SETTINGSWIDGET_H

+ 68 - 0
settingswidget.ui

@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>settingsWidget</class>
+ <widget class="QWidget" name="settingsWidget">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>400</width>
+    <height>300</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QGridLayout" name="gridLayout_2">
+   <item row="0" column="0">
+    <widget class="QTabWidget" name="tabWidget">
+     <property name="currentIndex">
+      <number>0</number>
+     </property>
+     <widget class="QWidget" name="generalTab">
+      <attribute name="title">
+       <string>General</string>
+      </attribute>
+      <layout class="QGridLayout" name="gridLayout">
+       <item row="0" column="0">
+        <widget class="QLabel" name="themeLabel">
+         <property name="text">
+          <string>Theme</string>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="1">
+        <widget class="QCheckBox" name="systemThemeCheckBox">
+         <property name="text">
+          <string>System</string>
+         </property>
+        </widget>
+       </item>
+       <item row="1" column="1">
+        <widget class="QCheckBox" name="lightThemeCheckBox">
+         <property name="text">
+          <string>Light</string>
+         </property>
+        </widget>
+       </item>
+       <item row="2" column="1">
+        <widget class="QCheckBox" name="darkThemeCheckBox">
+         <property name="text">
+          <string>Dark</string>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="tab_2">
+      <attribute name="title">
+       <string>Tab 2</string>
+      </attribute>
+     </widget>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>