Skip to content
Snippets Groups Projects

feat: fix plan2

Merged Eunice Sarah Siregar requested to merge plan into develop
Compare and
2 files
+ 66
27
Preferences
Compare changes
Files
2
+ 53
14
import sqlite3
from PyQt6.QtWidgets import QApplication, QLabel, QWidget, QLineEdit, QPushButton, QRadioButton, QCheckBox, QMessageBox
from PyQt6.QtWidgets import QApplication, QLabel, QWidget, QPushButton, QMessageBox
from PyQt6.QtGui import QFont, QPixmap, QCursor, QMovie, QIcon
from PyQt6.QtCore import Qt, QSize, QUrl, QTimer, QTime
from PyQt6.QtMultimedia import QSoundEffect
# from PyQt6.QtMultimedia import QSoundEffect
import time
import sys
conn = sqlite3.connect("fitu.db")
@@ -16,7 +16,7 @@ class plan(QWidget):
# self.remaining_time = 0
self.timer = QTimer(self)
self.timer.timeout.connect(self.updateTimer)
self.remaining_time = 60 # initial value in seconds
self.remaining_time = 0 # initial value in seconds
self.timer.start(1000) # set timer to update every second
self.setUpWindowPlan()
@@ -35,11 +35,19 @@ class plan(QWidget):
else:
self.timer.stop()
QMessageBox.information(self, "Time's up!", "The countdown timer has ended.")
# QMessageBox.setStyleSheet(QLabel("color: white"))
def resetTimer(self):
self.remaining_time = 60
self.remaining_time = self.duration[self.index][0]
self.timer.start(1000)
self.timer_label.setText("01:00")
if(self.duration[self.index][0]<59):
self.timer_label.setText("00:"+str(self.remaining_time))
else:
self.timer_label.setText("00:"+str(self.remaining_time))
def repetitionLabel(self):
self.timer.stop()
self.timer_label.setText(str(self.repCount[self.index][0])+ " Rep")
def setUpPlan(self):
self.setStyleSheet('background-color: #5A8D6C')
@@ -85,7 +93,7 @@ class plan(QWidget):
# effect.setLoopCount(-2)
# effect.play()
# if self.index == len(latihan)/2 - 1:
# if self.index == len(latihan):
# nextButton.setEnabled(False)
# titleProgram = c.execute(f"SELECT name FROM program WHERE program_id = {programId}").fetchone()
# nameExe = c.execute(f"SELECT name FROM daftar_latihan WHERE exercise_id in (SELECT exercise_id FROM latihan_program)").fetchall()
@@ -93,6 +101,16 @@ class plan(QWidget):
# totDuration = c.execute(f"SELECT SUM(duration) FROM daftar_latihan WHERE exercise_id in (SELECT exercise_id FROM latihan_program)").fetchone()
# c.execute("INSERT INTO riwayat_latihan program_id, name, title_program, date, tot_duration VALUES ({programId}, {nameExe}, {titleProgram}, {date}, {totDuration})")
self.name = c.execute(f"SELECT title FROM daftar_latihan NATURAL JOIN latihan_program WHERE program_id = 1").fetchall()
print(self.name)
self.nameLabel = QLabel(self)
self.nameLabel.setText(self.name[self.index][0])
print(self.name[self.index][0])
self.nameLabel.setFont(QFont("Arial", 20, QFont.Weight.Bold))
self.nameLabel.setStyleSheet("color: #EEEEE2")
self.nameLabel.move(600, 461)
self.nameLabel.setFixedWidth(200)
# duration = QLabel(self)
self.repLabel = QLabel(self)
self.repLabel.setFont(QFont("Arial", 20, QFont.Weight.Bold))
@@ -105,13 +123,21 @@ class plan(QWidget):
self.timer_label.move(547, 510)
self.timer_label.setFont(QFont("Arial", 20, QFont.Weight.Bold))
self.timer_label.setStyleSheet("background-color: #EEEEE2; border-radius: 10px; border: 2px")
durationCount = c.execute(f"SELECT duration FROM daftar_latihan WHERE exercise_id in (SELECT exercise_id FROM latihan_program WHERE program_id = 1)").fetchall()
repCount = c.execute(f"SELECT repetition FROM daftar_latihan WHERE exercise_id in (SELECT exercise_id FROM latihan_program WHERE program_id = 1)").fetchall()
print(repCount[self.index][0])
if durationCount[self.index][0] != None and repCount[self.index][0] == None:
self.updateTimer()
elif durationCount[self.index][0] == None and repCount[self.index][0] != None:
self.repLabel.setText(repCount[self.index][0])
# durationCount = c.execute(f"SELECT duration FROM daftar_latihan WHERE exercise_id in (SELECT exercise_id FROM latihan_program WHERE program_id = 1)").fetchall()
self.repCount = c.execute(f"SELECT repetition FROM daftar_latihan NATURAL JOIN latihan_program WHERE program_id = 1").fetchall()
self.duration = c.execute(f"SELECT duration FROM daftar_latihan NATURAL JOIN latihan_program WHERE program_id = 1").fetchall()
for i in self.repCount:
print("rep",i)
for i in self.duration:
print("dur",i)
if self.duration[self.index][0] != None:
self.remaining_time = self.duration[self.index][0]
self.resetTimer()
else:
self.repetitionLabel()
print((self.repCount[self.index][0])==None)
def prevEx(self):
@@ -123,11 +149,18 @@ class plan(QWidget):
self.movie.setScaledSize(QSize(330, 305))
self.movie.setSpeed(60)
print("kiri:" + str(self.index))
if self.duration[self.index][0] != None:
self.remaining_time = self.duration[self.index][0]
self.resetTimer()
else:
self.repetitionLabel()
self.nameLabel.setText(self.name[self.index][0])
print(self.index)
def nextEx(self):
if self.index < (len(latihan)/2) - 1:
if self.index < (len(latihan)) - 1:
self.index += 1
self.movie = QMovie(latihan[self.index][0])
self.currEx.setMovie(self.movie)
@@ -135,7 +168,13 @@ class plan(QWidget):
self.movie.setScaledSize(QSize(330, 305))
self.movie.setSpeed(100)
print("kanan:" + str(self.index))
if self.duration[self.index][0] != None:
self.remaining_time = self.duration[self.index][0]
self.resetTimer()
else:
self.repetitionLabel()
self.nameLabel.setText(self.name[self.index][0])
print(self.index)
if __name__ == "__main__":