diff --git a/src/Model/Study.py b/src/Model/Study.py
index d0ba7747..2b8a859c 100644
--- a/src/Model/Study.py
+++ b/src/Model/Study.py
@@ -112,6 +112,8 @@ class Study(SQLModel):
else:
self._init_db_file(self.filename, is_new=True)
+ self.commit()
+
# Save
self.last_save_date = datetime.now()
self._save(progress=progress)
@@ -235,7 +237,7 @@ class Study(SQLModel):
if version[0] == self._version:
return True
- logger.info("Update database")
+ logger.debug("Update database")
if self._update_submodel(version[0]):
self.execute(
diff --git a/src/View/MainWindow.py b/src/View/MainWindow.py
index eb6fa68e..496c894c 100644
--- a/src/View/MainWindow.py
+++ b/src/View/MainWindow.py
@@ -666,21 +666,21 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
self._study.filename = file_name
try:
- sql_request_count = self._study.sql_save_request_count()
- progress = QProgressDialog(
- "Backup...", None,
- 0, sql_request_count,
- parent=self
- )
- progress.setWindowModality(Qt.WindowModal)
- progress.setValue(0)
+ # sql_request_count = self._study.sql_save_request_count()
+ # progress = QProgressDialog(
+ # "Backup...", None,
+ # 0, sql_request_count,
+ # parent=self
+ # )
+ # progress.setWindowModality(Qt.WindowModal)
+ # progress.setValue(0)
status = f"Backup ({file_name})..."
logger.info(status)
self.statusbar.showMessage(status, 3000)
self._study.save(
- progress=lambda: progress.setValue(progress.value() + 1)
+ # progress=lambda: progress.setValue(progress.value() + 1)
)
status += " Done"
diff --git a/src/View/Study/Window.py b/src/View/Study/Window.py
index fc7e83aa..4a0b4421 100644
--- a/src/View/Study/Window.py
+++ b/src/View/Study/Window.py
@@ -18,6 +18,9 @@
import logging
+from datetime import datetime
+from tools import get_user_name
+
from Modules import Modules
from Model.Study import Study
from View.Tools.PamhyrWindow import PamhyrDialog
@@ -61,29 +64,69 @@ class NewStudyWindow(PamhyrDialog):
)
if self._study is not None:
- self.set_line_edit_text("lineEdit_name", self._study.name)
- self.set_plaintext_edit_text(
- "plainTextEdit_description", self._study.description
- )
- self.set_text_edit_text(
- "textBrowser_description", self._study.description
- )
- self.set_datetime_edit("dateTimeEdit_date", self._study.date)
-
- self.find(QLabel, "label_creation_date_data").setText(
- self._study.creation_date.isoformat(sep=" ")
- )
- self.find(QLabel, "label_last_modification_data").setText(
- self._study.last_save_date.isoformat(sep=" ")
- )
-
- if self._study.time_system == "date":
- self.set_radio_button("radioButton_date", True)
- self.find(QLabel, "label_date").setEnabled(True)
- self.find(QDateTimeEdit, "dateTimeEdit_date").setEnabled(True)
+ self.set_study_values()
+ else:
+ self.set_default_values()
self.connection()
+ def set_study_values(self):
+ self.set_line_edit_text("lineEdit_name", self._study.name)
+ self.set_plaintext_edit_text(
+ "plainTextEdit_description", self._study.description
+ )
+ self.set_text_edit_text(
+ "textBrowser_description", self._study.description
+ )
+ self.set_datetime_edit("dateTimeEdit_date", self._study.date)
+
+ self.find(QLabel, "label_creation_date_data").setText(
+ self._study.creation_date.isoformat(sep=" ")
+ )
+ self.find(QLabel, "label_last_modification_data").setText(
+ self._study.last_save_date.isoformat(sep=" ")
+ )
+
+ if self._study.time_system == "date":
+ self.set_radio_button("radioButton_date", True)
+ self.find(QLabel, "label_date").setEnabled(True)
+ self.find(QDateTimeEdit, "dateTimeEdit_date").setEnabled(True)
+
+ def set_default_values(self):
+ self.set_line_edit_text("lineEdit_name", "MyNewStudy")
+
+ description = f"""# MyNewStudy
+
+This is my new study description
+
+---
+
+## General information
+
+...
+
+## TODO
+
+- [X] Network
+- [ ] Geometry
+- [ ] ...
+
+## Change log
+
+{datetime.now().strftime('%Y-%m-%d')}: Add a default bief
+
+---
+
+## Copyright
+
+(c) {get_user_name()} - {datetime.now().year}
+
+All right reserved.
+"""
+
+ self.set_plaintext_edit_text("plainTextEdit_description", description)
+ self.set_text_edit_text("textBrowser_description", description)
+
def connection(self):
time = self.find(QRadioButton, "radioButton_time")
date = self.find(QRadioButton, "radioButton_date")
@@ -115,7 +158,6 @@ class NewStudyWindow(PamhyrDialog):
def accept(self):
name = self.get_line_edit_text("lineEdit_name")
description = self.get_plaintext_edit_text("plainTextEdit_description")
- logger.info(description)
if self._study is None:
study = Study.new(name, description)
diff --git a/src/View/ui/NewStudy.ui b/src/View/ui/NewStudy.ui
index f257dc5f..47b216c1 100644
--- a/src/View/ui/NewStudy.ui
+++ b/src/View/ui/NewStudy.ui
@@ -6,13 +6,16 @@
0
0
- 560
- 350
+ 896
+ 504
Dialog
+
+
+
-
@@ -34,7 +37,7 @@
-
- MyNewStudy
+
@@ -50,11 +53,14 @@
-
- 0
+ 1
- Markdown
+ Edition
+
+
+ <html><head/><body><p>Markdown is a plain text format (<a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet"><span style=" text-decoration: underline; color:#0000ff;">cheatsheet</span></a>).</p><p><span style=" font-weight:600;">Title:</span></p><p># Title</p><p>## Subtitle</p><p>### Subsubtitle</p><p><span style=" font-weight:600;">Emphasis:</span></p><p>**<span style=" font-weight:600;">bold</span>**</p><p><span style=" font-style:italic;">_italic_</span></p><p><span style=" font-weight:600;">Lists:</span></p><p>- First</p><p>- Second</p><p>1. First</p><p>2. Second</p><p><span style=" font-weight:600;">Quote:</span></p><p>> This is a quote</p><p><span style=" font-weight:600;">Code:</span></p><p>```python</p><p>print("hello")</p><p>```</p><p><span style=" font-weight:600;">Inline HTML:</span></p><p><font color="red"><span style=" color:#ff0000;">foo bar</span></font></p></body></html>
-
diff --git a/src/tools.py b/src/tools.py
index 0e4fe40e..7d36d5d7 100644
--- a/src/tools.py
+++ b/src/tools.py
@@ -17,6 +17,7 @@
# -*- coding: utf-8 -*-
import os
+import pwd
import time
import logging
import traceback
@@ -270,6 +271,12 @@ def timestamp_to_old_pamhyr_date(time: int):
return s
+def get_user_name():
+ if posix:
+ return pwd.getpwuid(os.getuid()).pw_gecos
+ else:
+ return "Me"
+
#######################
# COMMAND LINE PARSER #