diff --git a/.gitignore b/.gitignore
index 0a44e6d..d0782d5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,11 +5,6 @@ converted
**/logs
tests/
**/__pycache__
-**/*.ui
-**/*.ts
-**/*.pyproject
-**/*.pyproject.user
-**/*.qrc
**/*.db
.idea
.vscode
\ No newline at end of file
diff --git a/src/PYMD/interface/_interface.py b/src/PYMD/interface/_interface.py
index 0a2be42..1084e0f 100644
--- a/src/PYMD/interface/_interface.py
+++ b/src/PYMD/interface/_interface.py
@@ -127,26 +127,33 @@ def __language(self):
"""Change UI language"""
__result: int = 0
if self.ui.text_preview_mode.isVisible():
- __result = self.__box_dialog(self.tr('Warning'),self.tr('Extracted content will be deleted once you change the language (unless you have already saved it)'),{'ok': self.tr('Accept')}).exec()
+ # Show a warning dialog before change language
+ __result = self.__box_dialog(self.tr('Warning'), self.tr('Extracted content will be deleted once you change the language (unless you have already saved it)'),{'ok': self.tr('Accept')}).exec()
if not self.ui.text_preview_mode.isVisible() or __result == 1024:
#Feature: Save content in a temporal file (The content is removed when language change)
lang_manager.show_dialog()
#Update UI language
self.ui.retranslateUi(self)
self.current_lang = lang_manager.lang_code
+ # When initial info screen is visible
if self.__init_help.info.isVisible(): self.__init_help.load_info(self.current_lang)
def __box_dialog(self, title:str = '', text:str = '', buttons_cancel_ok:dict | None = None, icon:QIcon | None = None) -> QMessageBox:
+ """Create a box dialog"""
__icon: QIcon = icon if icon is not None else self.__icon_window
__dialog: QMessageBox = QMessageBox()
+ # Standard dialog buttons
__dialog.setStandardButtons(__dialog.StandardButton.Ok | __dialog.StandardButton.Cancel)
- __buttons_txt:list[str] = ['Ok', 'Cancel']
+ # If not give buttons labels
+ __buttons_txt:list[str] = [self.tr('Ok'), self.tr('Cancel')]
__dialog.setWindowIcon(__icon)
__dialog.setWindowTitle(title)
__dialog.setText(text)
+ # Has been received a dict with buttons
if buttons_cancel_ok is not None and type(buttons_cancel_ok) is dict:
if 'ok' in buttons_cancel_ok: __buttons_txt[0] = buttons_cancel_ok['ok']
if 'cancel' in buttons_cancel_ok: __buttons_txt[1] = buttons_cancel_ok['cancel']
+ # Set visible text for each button
__dialog.button(__dialog.StandardButton.Ok).setText(__buttons_txt[0])
__dialog.button(__dialog.StandardButton.Cancel).setText(__buttons_txt[1])
return __dialog
@@ -158,6 +165,7 @@ def __theme(self):
pass
def __osl(self):
+ """Load Open Source Licenses (Information - OSL)"""
OSL(self, lang_manager)
def run():
diff --git a/src/PYMD/interface/dialog_about.ui b/src/PYMD/interface/dialog_about.ui
new file mode 100644
index 0000000..9eec789
--- /dev/null
+++ b/src/PYMD/interface/dialog_about.ui
@@ -0,0 +1,187 @@
+
+
+ Tutos Rive
+ about_dialog
+
+
+
+ 0
+ 0
+ 578
+ 640
+
+
+
+
+ Gabriola
+ 20
+
+
+
+ About
+
+
+
+
+
+ true
+
+
+ -
+
+
+
+ Gabriola
+ 12
+
+
+
+ Qt::Orientation::Horizontal
+
+
+ QDialogButtonBox::StandardButton::Close
+
+
+ true
+
+
+
+ -
+
+
+ 0
+
+
-
+
+
+
+ 0
+ 20
+
+
+
+
+ 150
+ 40
+
+
+
+
+ Gabriola
+ 10
+ false
+ true
+ false
+ false
+ true
+
+
+
+ background-color: rgb(59, 59, 59);
+color: #84CD4F;
+border-radius: 5px;
+
+
+
+
+
+ <code>pip install pymd</code>
+
+
+ Qt::TextFormat::RichText
+
+
+ false
+
+
+ Qt::AlignmentFlag::AlignCenter
+
+
+ Qt::TextInteractionFlag::TextSelectableByKeyboard|Qt::TextInteractionFlag::TextSelectableByMouse
+
+
+
+
+
+ -
+
+
+ true
+
+
+
+
+ 0
+ 0
+ 558
+ 562
+
+
+
+
-
+
+
+
+ 540
+ 16777215
+
+
+
+
+
+
+ Qt::TextFormat::MarkdownText
+
+
+ true
+
+
+ true
+
+
+ Qt::TextInteractionFlag::LinksAccessibleByMouse|Qt::TextInteractionFlag::TextSelectableByKeyboard|Qt::TextInteractionFlag::TextSelectableByMouse
+
+
+
+
+
+
+
+
+
+
+
+
+ close_button
+ accepted()
+ about_dialog
+ accept()
+
+
+ 248
+ 254
+
+
+ 157
+ 274
+
+
+
+
+ close_button
+ rejected()
+ about_dialog
+ reject()
+
+
+ 316
+ 260
+
+
+ 286
+ 274
+
+
+
+
+
diff --git a/src/PYMD/interface/dialog_language.ui b/src/PYMD/interface/dialog_language.ui
new file mode 100644
index 0000000..17d4403
--- /dev/null
+++ b/src/PYMD/interface/dialog_language.ui
@@ -0,0 +1,213 @@
+
+
+ Lang_Dialog
+
+
+
+ 0
+ 0
+ 330
+ 320
+
+
+
+
+ 100
+ 100
+
+
+
+
+ 330
+ 320
+
+
+
+
+ Gabriola
+ 12
+
+
+
+ Select Language
+
+
+
+ :/img/logo-pymd-2:/img/logo-pymd-2
+
+
+ Qt::LayoutDirection::LeftToRight
+
+
+ false
+
+
+
+
+
+
+
+
+
+ QLayout::SizeConstraint::SetDefaultConstraint
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Qt::Orientation::Horizontal
+
+
+ QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Save
+
+
+ true
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 272
+
+
+
+ false
+
+
+ QDialog > QListWidget{
+background-image: url(:/img/logo-pymd-2.2);
+background-position: center;
+background-repeat: no-repeat;
+background-attachment: fixed;}
+
+
+ QAbstractItemView::EditTrigger::DoubleClicked|QAbstractItemView::EditTrigger::EditKeyPressed
+
+
+ true
+
+
+ Qt::DropAction::CopyAction
+
+
+ Qt::TextElideMode::ElideLeft
+
+
+ QListView::Movement::Static
+
+
+ QListView::Flow::TopToBottom
+
+
+ QListView::ViewMode::ListMode
+
+
+ false
+
+
+ 0
+
+
+ true
+
+
-
+
+ English - GB
+
+
+ en_GB
+
+
+
+ Gabriola
+ 12
+
+
+
+
+ :/flags/en_GB.svg:/flags/en_GB.svg
+
+
+ -
+
+ Spanish - CO
+
+
+ es_CO
+
+
+
+ Gabriola
+ 12
+
+
+
+
+ :/flags/es_CO.svg:/flags/es_CO.svg
+
+
+
+
+
+
+
+
+
+
+
+ dialog_btn
+ accepted()
+ Lang_Dialog
+ accept()
+
+
+ 248
+ 254
+
+
+ 157
+ 274
+
+
+
+
+ dialog_btn
+ rejected()
+ Lang_Dialog
+ reject()
+
+
+ 316
+ 260
+
+
+ 286
+ 274
+
+
+
+
+
diff --git a/src/PYMD/interface/main_window.ui b/src/PYMD/interface/main_window.ui
new file mode 100644
index 0000000..53bb82f
--- /dev/null
+++ b/src/PYMD/interface/main_window.ui
@@ -0,0 +1,1580 @@
+
+
+ MainWindow
+
+
+ Qt::WindowModality::NonModal
+
+
+ true
+
+
+
+ 0
+ 0
+ 931
+ 634
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 33
+ 33
+ 33
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 33
+ 33
+ 33
+
+
+
+
+
+
+ 33
+ 33
+ 33
+
+
+
+
+
+
+ 63
+ 63
+ 63
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 33
+ 33
+ 33
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 134
+ 134
+ 134
+
+
+
+
+
+
+ 33
+ 33
+ 33
+
+
+
+
+
+
+ 33
+ 33
+ 33
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 33
+ 33
+ 33
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 33
+ 33
+ 33
+
+
+
+
+
+
+ 33
+ 33
+ 33
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ Gabriola
+ 12
+
+
+
+ PYMD - SRM & TRG
+
+
+
+ :/img/logo-pymd-2:/img/logo-pymd-2
+
+
+
+
+
+ Qt::LayoutDirection::LeftToRight
+
+
+ false
+
+
+
+
+
+ true
+
+
+ QMainWindow::DockOption::AllowTabbedDocks|QMainWindow::DockOption::AnimatedDocks
+
+
+
+ Qt::LayoutDirection::LeftToRight
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 40
+ 0
+
+
+
+
+ 16777215
+ 200
+
+
+
+ Qt::LayoutDirection::LeftToRight
+
+
+ QFrame::Shape::NoFrame
+
+
+ QFrame::Shadow::Raised
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+
+ 20
+ 70
+
+
+
+
+ Gabriola
+ 12
+
+
+
+ Change language
+
+
+
+
+
+
+
+
+ Ctrl+A
+
+
+ false
+
+
+
+ -
+
+
+
+ 20
+ 70
+
+
+
+
+ Gabriola
+ 12
+
+
+
+ Open File
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+ Qt::LayoutDirection::LeftToRight
+
+
+ false
+
+
+ QFrame::Shape::NoFrame
+
+
+ QFrame::Shadow::Raised
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
-
+
+
+ QFrame::Shape::StyledPanel
+
+
+ QFrame::Shadow::Raised
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
-
+
+
+
+ Gabriola
+ 14
+ false
+ true
+
+
+
+
+
+
+ Markdown
+
+
+ Qt::TextFormat::PlainText
+
+
+ Qt::AlignmentFlag::AlignCenter
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ Times New Roman
+ 12
+
+
+
+ Qt::FocusPolicy::StrongFocus
+
+
+ true
+
+
+
+
+
+ false
+
+
+
+
+
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+hr { height: 1px; border-width: 0; }
+li.unchecked::marker { content: "\2610"; }
+li.checked::marker { content: "\2612"; }
+</style></head><body style=" font-family:'Times New Roman'; font-size:12pt; font-weight:400; font-style:normal;">
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Gabriola';"><br /></p></body></html>
+
+
+
+
+
+
+ -
+
+
+
+ Gabriola
+ 14
+
+
+
+ Preview
+
+
+ Qt::TextFormat::PlainText
+
+
+ Qt::AlignmentFlag::AlignCenter
+
+
+
+ -
+
+
+
+ Times New Roman
+ 12
+
+
+
+ Qt::FocusPolicy::NoFocus
+
+
+ QTextEdit::AutoFormattingFlag::AutoAll
+
+
+ true
+
+
+
+
+
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+hr { height: 1px; border-width: 0; }
+li.unchecked::marker { content: "\2610"; }
+li.checked::marker { content: "\2612"; }
+</style></head><body style=" font-family:'Times New Roman'; font-size:12pt; font-weight:400; font-style:normal;">
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Gabriola';"><br /></p></body></html>
+
+
+ Qt::TextInteractionFlag::LinksAccessibleByMouse|Qt::TextInteractionFlag::TextSelectableByMouse
+
+
+
+
+
+ -
+
+
+
+ 0
+ 40
+
+
+
+ PointingHandCursor
+
+
+ Save file to Markdown (.md)
+
+
+ false
+
+
+ Convert
+
+
+
+
+
+ Ctrl+Enter
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+ 16777215
+ 20
+
+
+
+ Qt::LayoutDirection::LeftToRight
+
+
+ QFrame::Shape::NoFrame
+
+
+ QFrame::Shadow::Raised
+
+
+ 0
+
+
+
+ QLayout::SizeConstraint::SetDefaultConstraint
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+
+ 16777215
+ 20
+
+
+
+
+ 855
+ 60
+
+
+
+
+
+
+ <html><head/><body><p>© 2025 Tutos Rive. Licensed under the <a href="https://github.com/tutosrive/pymd/blob/main/LICENSE"><span style=" text-decoration: underline; color:#27bf73;">MIT License</span></a></p><p><br/></p></body></html>
+
+
+ Qt::TextFormat::RichText
+
+
+ true
+
+
+ Qt::AlignmentFlag::AlignBottom|Qt::AlignmentFlag::AlignHCenter
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+ Open File
+
+
+
+ Gabriola
+ 12
+
+
+
+ Ctrl+O
+
+
+ QAction::MenuRole::TextHeuristicRole
+
+
+
+
+ Exit
+
+
+
+ Gabriola
+ 12
+
+
+
+ Ctrl+W
+
+
+ QAction::MenuRole::TextHeuristicRole
+
+
+
+
+
+
+
+ About
+
+
+
+ Gabriola
+ 12
+
+
+
+ Ctrl+M
+
+
+
+
+ Language
+
+
+ Ctrl+L
+
+
+
+
+ Theme
+
+
+
+ Amiri Quran
+
+
+
+ Ctrl+T
+
+
+
+
+
+ assets/img/opl.webpassets/img/opl.webp
+
+
+ Open Source Licences
+
+
+
+ Gabriola
+ 12
+
+
+
+
+
+
+
+
+
+
+ 10
+
+
+ 10
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+
diff --git a/src/PYMD/interface/osl.ui b/src/PYMD/interface/osl.ui
new file mode 100644
index 0000000..7cef6dd
--- /dev/null
+++ b/src/PYMD/interface/osl.ui
@@ -0,0 +1,255 @@
+
+
+ dialog_osl
+
+
+ Qt::WindowModality::WindowModal
+
+
+
+ 0
+ 0
+ 480
+ 640
+
+
+
+
+ 480
+ 661
+
+
+
+
+ Gabriola
+ 12
+
+
+
+ false
+
+
+ Open Source Licenses - Notice
+
+
+
+ :/img/logo-pymd-2:/img/logo-pymd-2
+
+
+
+
+
+ false
+
+
+ true
+
+
+ -
+
+
+
+ 150
+ 0
+
+
+
+
+ Gabriola
+ 14
+
+
+
+
+
+
+ Select a library
+
+
-
+
+ Select a library
+
+
+ -
+
+ Markitdown
+
+
+ -
+
+ PySide6
+
+
+
+
+ -
+
+
+ QFrame::Shape::NoFrame
+
+
+ QFrame::Shadow::Raised
+
+
+
-
+
+
+ true
+
+
+
+
+ 0
+ 0
+ 442
+ 515
+
+
+
+
-
+
+
+
+ 424
+ 16777215
+
+
+
+
+ Times New Roman
+ 12
+
+
+
+
+
+
+ Qt::TextFormat::MarkdownText
+
+
+ true
+
+
+ true
+
+
+ Qt::TextInteractionFlag::LinksAccessibleByMouse|Qt::TextInteractionFlag::TextSelectableByMouse
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 20
+
+
+
+
+ 444
+ 20
+
+
+
+
+
+
+ Qt::TextFormat::MarkdownText
+
+
+ Qt::AlignmentFlag::AlignBottom|Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft
+
+
+ true
+
+
+
+
+
+
+ -
+
+
+
+ 300
+ 16777215
+
+
+
+
+ Gabriola
+ 14
+
+
+
+ CREDITS
+
+
+ Qt::TextFormat::PlainText
+
+
+ false
+
+
+ Qt::AlignmentFlag::AlignCenter
+
+
+
+ -
+
+
+ Qt::Orientation::Horizontal
+
+
+ QDialogButtonBox::StandardButton::Close
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+ close_dialog_osl
+ accepted()
+ dialog_osl
+ accept()
+
+
+ 248
+ 254
+
+
+ 157
+ 274
+
+
+
+
+ close_dialog_osl
+ rejected()
+ dialog_osl
+ reject()
+
+
+ 316
+ 260
+
+
+ 286
+ 274
+
+
+
+
+
diff --git a/src/PYMD/interface/pymd.pyproject b/src/PYMD/interface/pymd.pyproject
new file mode 100644
index 0000000..9aab255
--- /dev/null
+++ b/src/PYMD/interface/pymd.pyproject
@@ -0,0 +1,16 @@
+{
+ "files": [
+ "_interface.py",
+ "dialog_language.ui",
+ "_initialHelp.py",
+ "main_window.ui",
+ "pymd.pyproject.user",
+ "requirements.txt",
+ "resources.qrc",
+ "osl.ui",
+ "_osl.py",
+ "translations/others/ABOUT_es_CO.trg",
+ "dialog_about.ui",
+ "_about.py"
+ ]
+}
diff --git a/src/PYMD/interface/pymd.pyproject.user b/src/PYMD/interface/pymd.pyproject.user
new file mode 100644
index 0000000..d65349b
--- /dev/null
+++ b/src/PYMD/interface/pymd.pyproject.user
@@ -0,0 +1,255 @@
+
+
+
+
+
+ EnvironmentId
+ {cfbed4cb-0e85-4f18-a17a-07293519a89d}
+
+
+ ProjectExplorer.Project.ActiveTarget
+ 0
+
+
+ ProjectExplorer.Project.EditorSettings
+
+ true
+ true
+ true
+
+ Cpp
+
+ CppGlobal
+
+
+
+ QmlJS
+
+ QmlJSGlobal
+
+
+ 2
+ UTF-8
+ false
+ 4
+ false
+ 1
+ 80
+ true
+ true
+ 1
+ 0
+ false
+ true
+ false
+ 2
+ true
+ true
+ 0
+ 8
+ true
+ false
+ 1
+ true
+ true
+ true
+ *.md, *.MD, Makefile
+ false
+ true
+ true
+
+
+
+ ProjectExplorer.Project.PluginSettings
+
+
+ true
+ false
+ true
+ true
+ true
+ true
+
+ false
+
+
+ 0
+ true
+
+ true
+ true
+ Builtin.DefaultTidyAndClazy
+ 2
+ true
+
+
+
+ true
+
+
+
+
+ ProjectExplorer.Project.Target.0
+
+ Desktop
+ Python 3.12.8
+ Python 3.12.8
+ {3fd8f48e-f33a-4bf4-b30b-cb2d8ff6335a}
+ 0
+ 0
+ 0
+
+ D:\CODE\Qt\projects\pymd\.qtcreator\Python_3_12_8venv
+
+
+ true
+ Python.PysideBuildStep
+ D:\CODE\Qt\projects\pymd\.qtcreator\Python_3_12_8venv\Scripts\pyside6-project.exe
+ D:\CODE\Qt\projects\pymd\.qtcreator\Python_3_12_8venv\Scripts\pyside6-uic.exe
+
+ 1
+ Build
+ Build
+ ProjectExplorer.BuildSteps.Build
+
+
+ 0
+ Clean
+ Clean
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ false
+
+ Python 3.12.8 Virtual Environment
+ Python.PySideBuildConfiguration
+ D:/CODE/Qt/projects/pymd/.qtcreator/Python_3_12_8venv/Scripts/python.exe
+ D:/CODE/Qt/projects/pymd/.qtcreator/Python_3_12_8venv
+
+ 1
+
+
+ 0
+ Deploy
+ Deploy
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+
+ false
+ ProjectExplorer.DefaultDeployConfiguration
+
+ 1
+
+ true
+ true
+ 0
+ true
+
+ 2
+
+ false
+ -e cpu-cycles --call-graph "dwarf,4096" -F 250
+ _interface.py
+ PythonEditor.RunConfiguration.
+ D:/CODE/Qt/projects/pymd/_interface.py
+ true
+ D:\CODE\Qt\projects\pymd\_interface.py
+ 0
+ false
+ true
+ false
+ D:/CODE/Qt/projects/pymd
+
+
+ true
+ true
+ 0
+ true
+
+ 2
+
+ false
+ -e cpu-cycles --call-graph "dwarf,4096" -F 250
+ _initialHelp.py
+ PythonEditor.RunConfiguration.
+ D:/CODE/Qt/projects/pymd/_initialHelp.py
+ true
+ D:\CODE\Qt\projects\pymd\_initialHelp.py
+ true
+ true
+ D:/CODE/Qt/projects/pymd
+
+
+ true
+ true
+ 0
+ true
+
+ 2
+
+ false
+ -e cpu-cycles --call-graph "dwarf,4096" -F 250
+ OSL.py
+ PythonEditor.RunConfiguration.
+ D:/CODE/Qt/projects/pymd/OSL.py
+ true
+ true
+ true
+
+
+ true
+ true
+ 0
+ true
+
+ 2
+
+ false
+ -e cpu-cycles --call-graph "dwarf,4096" -F 250
+ _osl.py
+ PythonEditor.RunConfiguration.
+ D:/CODE/Qt/projects/pymd/_osl.py
+ true
+ D:\CODE\Qt\projects\pymd\_osl.py
+ true
+ true
+ D:/CODE/Qt/projects/pymd
+
+
+ true
+ true
+ 0
+ true
+
+ 2
+
+ false
+ -e cpu-cycles --call-graph "dwarf,4096" -F 250
+ _about.py
+ PythonEditor.RunConfiguration.
+ D:/CODE/Qt/projects/pymd/_about.py
+ true
+ D:\CODE\Qt\projects\pymd\_about.py
+ true
+ true
+ D:/CODE/Qt/projects/pymd
+
+ 5
+
+
+
+ ProjectExplorer.Project.TargetCount
+ 1
+
+
+ ProjectExplorer.Project.Updater.FileVersion
+ 22
+
+
+ Version
+ 22
+
+
diff --git a/src/PYMD/interface/resources.qrc b/src/PYMD/interface/resources.qrc
new file mode 100644
index 0000000..9847a44
--- /dev/null
+++ b/src/PYMD/interface/resources.qrc
@@ -0,0 +1,20 @@
+
+
+ ./assets/img/me.webp
+ ./assets/img/logo-pymd/logo-pymd-1.png
+ ./assets/img/logo-pymd/logo-pymd-2.png
+ ./assets/img/logo-pymd/logo-pymd-3.png
+ ./assets/img/logo-pymd/logo-pymd-4.png
+ ./assets/img/logo-pymd/logo-pymd-5.png
+ ./assets/img/logo-pymd/logo-pymd-2.1.png
+ ./assets/img/logo-pymd/logo-pymd-2.2.png
+
+
+ ./assets/img/language/en_GB.svg
+ ./assets/img/language/es_CO.svg
+
+
+ ./assets/img/osl_icon.webp
+ ./assets/img/gh-logo.png
+
+