Commit da18a8b7 authored by Pierre-Antoine Rouby's avatar Pierre-Antoine Rouby
Browse files

Study: Add default description example.

No related merge requests found
Pipeline #54407 passed with stages
in 3 minutes and 27 seconds
Showing with 92 additions and 35 deletions
+92 -35
......@@ -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(
......
......@@ -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"
......
......@@ -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,28 +64,68 @@ 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.set_study_values()
else:
self.set_default_values()
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=" ")
)
self.connection()
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_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.connection()
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")
......@@ -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)
......
......@@ -6,13 +6,16 @@
<rect>
<x>0</x>
<y>0</y>
<width>560</width>
<height>350</height>
<width>896</width>
<height>504</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<property name="locale">
<locale language="English" country="Europe"/>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label">
......@@ -34,7 +37,7 @@
<item row="0" column="1">
<widget class="QLineEdit" name="lineEdit_name">
<property name="text">
<string>MyNewStudy</string>
<string/>
</property>
</widget>
</item>
......@@ -50,11 +53,14 @@
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
<number>1</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>Markdown</string>
<string>Edition</string>
</attribute>
<attribute name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Markdown is a plain text format (&lt;a href=&quot;https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;cheatsheet&lt;/span&gt;&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Title:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;# Title&lt;/p&gt;&lt;p&gt;## Subtitle&lt;/p&gt;&lt;p&gt;### Subsubtitle&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Emphasis:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;**&lt;span style=&quot; font-weight:600;&quot;&gt;bold&lt;/span&gt;**&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;_italic_&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Lists:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;- First&lt;/p&gt;&lt;p&gt;- Second&lt;/p&gt;&lt;p&gt;1. First&lt;/p&gt;&lt;p&gt;2. Second&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Quote:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;gt; This is a quote&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Code:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;```python&lt;/p&gt;&lt;p&gt;print(&amp;quot;hello&amp;quot;)&lt;/p&gt;&lt;p&gt;```&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Inline HTML:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&lt;span style=&quot; color:#ff0000;&quot;&gt;foo bar&lt;/span&gt;&amp;lt;/font&amp;gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
......
......@@ -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 #
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment