Initial commit

This commit is contained in:
Marcel Kapfer 2020-04-30 10:02:06 +02:00
commit 09f8a93da4
Signed by: mmk2410
GPG key ID: CADE6F0C09F21B09
6 changed files with 1352 additions and 0 deletions

15
.editorconfig Normal file
View file

@ -0,0 +1,15 @@
# https://editorconfig.org/
root = true
[*]
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true
end_of_line = lf
charset = utf-8
# Docstrings and comments use max_line_length = 79
[*.py]
max_line_length = 119

119
.gitignore vendored Normal file
View file

@ -0,0 +1,119 @@
# Created by https://www.gitignore.io/api/python,visualstudiocode
# Edit at https://www.gitignore.io/?templates=python,visualstudiocode
### Python ###
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/
# Translations
*.mo
*.pot
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
target/
# pyenv
.python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# venv
venv/
# celery beat schedule file
celerybeat-schedule
# SageMath parsed files
*.sage.py
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# Mr Developer
.mr.developer.cfg
.project
.pydevproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
### VisualStudioCode ###
.vscode/
### VisualStudioCode Patch ###
# Ignore all local history of files
.history
# End of https://www.gitignore.io/api/python,visualstudiocode

26
init.py Normal file
View file

@ -0,0 +1,26 @@
#!/usr/bin/python
"""
WikiCookBook
Easily enter recipes and export them to beautiful wiki pages.
2020 © Marcel Kapfer <opensource@mmk2410.org>
MIT License
"""
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from ui_mainwindow import Ui_MainWindow
class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self, *args, **kwargs):
super(MainWindow, self).__init__(*args, **kwargs)
self.setupUi(self)
self.show()
if __name__ == "__main__":
app = QApplication([])
app.setApplicationName("WikiCookBook")
window = MainWindow()
app.exec_()

1
requirements.txt Normal file
View file

@ -0,0 +1 @@
pyqt5

420
ui_mainwindow.py Normal file
View file

@ -0,0 +1,420 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'ui_mainwindow.ui'
#
# Created by: PyQt5 UI code generator 5.14.2
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 620)
MainWindow.setMinimumSize(QtCore.QSize(800, 620))
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
self.gridLayout.setContentsMargins(10, 10, 10, 10)
self.gridLayout.setObjectName("gridLayout")
self.y_buttons = QtWidgets.QHBoxLayout()
self.y_buttons.setObjectName("y_buttons")
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.y_buttons.addItem(spacerItem)
self.b_create = QtWidgets.QPushButton(self.centralwidget)
self.b_create.setObjectName("b_create")
self.y_buttons.addWidget(self.b_create)
self.b_cancel = QtWidgets.QPushButton(self.centralwidget)
self.b_cancel.setObjectName("b_cancel")
self.y_buttons.addWidget(self.b_cancel)
self.gridLayout.addLayout(self.y_buttons, 1, 0, 1, 1)
self.tabWidget = QtWidgets.QTabWidget(self.centralwidget)
self.tabWidget.setObjectName("tabWidget")
self.t_basics = QtWidgets.QWidget()
self.t_basics.setObjectName("t_basics")
self.verticalLayout_9 = QtWidgets.QVBoxLayout(self.t_basics)
self.verticalLayout_9.setObjectName("verticalLayout_9")
self.y_basics = QtWidgets.QGridLayout()
self.y_basics.setObjectName("y_basics")
self.l_rating = QtWidgets.QLabel(self.t_basics)
self.l_rating.setObjectName("l_rating")
self.y_basics.addWidget(self.l_rating, 2, 0, 1, 1)
self.l_url = QtWidgets.QLabel(self.t_basics)
self.l_url.setObjectName("l_url")
self.y_basics.addWidget(self.l_url, 2, 2, 1, 1)
self.e_servings = QtWidgets.QLineEdit(self.t_basics)
self.e_servings.setObjectName("e_servings")
self.y_basics.addWidget(self.e_servings, 1, 1, 1, 1)
self.e_url = QtWidgets.QLineEdit(self.t_basics)
self.e_url.setObjectName("e_url")
self.y_basics.addWidget(self.e_url, 2, 3, 1, 1)
self.l_recipe_name = QtWidgets.QLabel(self.t_basics)
self.l_recipe_name.setObjectName("l_recipe_name")
self.y_basics.addWidget(self.l_recipe_name, 0, 0, 1, 1)
self.e_time = QtWidgets.QLineEdit(self.t_basics)
self.e_time.setObjectName("e_time")
self.y_basics.addWidget(self.e_time, 1, 3, 1, 1)
self.e_recipe_name = QtWidgets.QLineEdit(self.t_basics)
self.e_recipe_name.setObjectName("e_recipe_name")
self.y_basics.addWidget(self.e_recipe_name, 0, 1, 1, 3)
self.l_servings = QtWidgets.QLabel(self.t_basics)
self.l_servings.setObjectName("l_servings")
self.y_basics.addWidget(self.l_servings, 1, 0, 1, 1)
self.l_zeit = QtWidgets.QLabel(self.t_basics)
self.l_zeit.setObjectName("l_zeit")
self.y_basics.addWidget(self.l_zeit, 1, 2, 1, 1)
self.e_rating_overall = QtWidgets.QSpinBox(self.t_basics)
self.e_rating_overall.setMaximum(5)
self.e_rating_overall.setProperty("value", 3)
self.e_rating_overall.setObjectName("e_rating_overall")
self.y_basics.addWidget(self.e_rating_overall, 2, 1, 1, 1)
self.verticalLayout_9.addLayout(self.y_basics)
self.horizontalLayout_16 = QtWidgets.QHBoxLayout()
self.horizontalLayout_16.setObjectName("horizontalLayout_16")
self.v_categories = QtWidgets.QListView(self.t_basics)
self.v_categories.setObjectName("v_categories")
self.horizontalLayout_16.addWidget(self.v_categories)
self.verticalLayout_8 = QtWidgets.QVBoxLayout()
self.verticalLayout_8.setObjectName("verticalLayout_8")
self.y_category = QtWidgets.QGridLayout()
self.y_category.setObjectName("y_category")
self.l_category = QtWidgets.QLabel(self.t_basics)
self.l_category.setObjectName("l_category")
self.y_category.addWidget(self.l_category, 0, 0, 1, 1)
self.e_category = QtWidgets.QLineEdit(self.t_basics)
self.e_category.setObjectName("e_category")
self.y_category.addWidget(self.e_category, 0, 1, 1, 1)
self.verticalLayout_8.addLayout(self.y_category)
self.horizontalLayout_15 = QtWidgets.QHBoxLayout()
self.horizontalLayout_15.setObjectName("horizontalLayout_15")
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_15.addItem(spacerItem1)
self.b_remove_category_remove = QtWidgets.QPushButton(self.t_basics)
self.b_remove_category_remove.setObjectName("b_remove_category_remove")
self.horizontalLayout_15.addWidget(self.b_remove_category_remove)
self.b_category_add = QtWidgets.QPushButton(self.t_basics)
self.b_category_add.setObjectName("b_category_add")
self.horizontalLayout_15.addWidget(self.b_category_add)
self.verticalLayout_8.addLayout(self.horizontalLayout_15)
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_8.addItem(spacerItem2)
self.horizontalLayout_16.addLayout(self.verticalLayout_8)
self.verticalLayout_9.addLayout(self.horizontalLayout_16)
self.tabWidget.addTab(self.t_basics, "")
self.t_ingredients = QtWidgets.QWidget()
self.t_ingredients.setObjectName("t_ingredients")
self.horizontalLayout_14 = QtWidgets.QHBoxLayout(self.t_ingredients)
self.horizontalLayout_14.setObjectName("horizontalLayout_14")
self.v_ingredients = QtWidgets.QListView(self.t_ingredients)
self.v_ingredients.setObjectName("v_ingredients")
self.horizontalLayout_14.addWidget(self.v_ingredients)
self.verticalLayout_7 = QtWidgets.QVBoxLayout()
self.verticalLayout_7.setObjectName("verticalLayout_7")
self.y_ingredient = QtWidgets.QGridLayout()
self.y_ingredient.setObjectName("y_ingredient")
self.e_amount = QtWidgets.QLineEdit(self.t_ingredients)
self.e_amount.setObjectName("e_amount")
self.y_ingredient.addWidget(self.e_amount, 3, 1, 1, 1)
self.l_ingredient = QtWidgets.QLabel(self.t_ingredients)
self.l_ingredient.setObjectName("l_ingredient")
self.y_ingredient.addWidget(self.l_ingredient, 0, 0, 1, 1)
self.l_amount = QtWidgets.QLabel(self.t_ingredients)
self.l_amount.setObjectName("l_amount")
self.y_ingredient.addWidget(self.l_amount, 3, 0, 1, 1)
self.c_heading = QtWidgets.QCheckBox(self.t_ingredients)
self.c_heading.setObjectName("c_heading")
self.y_ingredient.addWidget(self.c_heading, 1, 1, 1, 1)
self.e_ingredient = QtWidgets.QLineEdit(self.t_ingredients)
self.e_ingredient.setObjectName("e_ingredient")
self.y_ingredient.addWidget(self.e_ingredient, 0, 1, 1, 1)
self.verticalLayout_7.addLayout(self.y_ingredient)
self.horizontalLayout_13 = QtWidgets.QHBoxLayout()
self.horizontalLayout_13.setObjectName("horizontalLayout_13")
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_13.addItem(spacerItem3)
self.b_ingredient_remove = QtWidgets.QPushButton(self.t_ingredients)
self.b_ingredient_remove.setObjectName("b_ingredient_remove")
self.horizontalLayout_13.addWidget(self.b_ingredient_remove)
self.b_ingredient_add = QtWidgets.QPushButton(self.t_ingredients)
self.b_ingredient_add.setObjectName("b_ingredient_add")
self.horizontalLayout_13.addWidget(self.b_ingredient_add)
self.verticalLayout_7.addLayout(self.horizontalLayout_13)
spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_7.addItem(spacerItem4)
self.horizontalLayout_14.addLayout(self.verticalLayout_7)
self.tabWidget.addTab(self.t_ingredients, "")
self.t_utensils = QtWidgets.QWidget()
self.t_utensils.setObjectName("t_utensils")
self.horizontalLayout_11 = QtWidgets.QHBoxLayout(self.t_utensils)
self.horizontalLayout_11.setObjectName("horizontalLayout_11")
self.v_utensils = QtWidgets.QListView(self.t_utensils)
self.v_utensils.setObjectName("v_utensils")
self.horizontalLayout_11.addWidget(self.v_utensils)
self.verticalLayout_6 = QtWidgets.QVBoxLayout()
self.verticalLayout_6.setObjectName("verticalLayout_6")
self.y_utensils = QtWidgets.QGridLayout()
self.y_utensils.setObjectName("y_utensils")
self.l_utensil = QtWidgets.QLabel(self.t_utensils)
self.l_utensil.setObjectName("l_utensil")
self.y_utensils.addWidget(self.l_utensil, 0, 0, 1, 1)
self.e_utensil = QtWidgets.QLineEdit(self.t_utensils)
self.e_utensil.setObjectName("e_utensil")
self.y_utensils.addWidget(self.e_utensil, 0, 1, 1, 1)
self.verticalLayout_6.addLayout(self.y_utensils)
self.horizontalLayout_12 = QtWidgets.QHBoxLayout()
self.horizontalLayout_12.setObjectName("horizontalLayout_12")
spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_12.addItem(spacerItem5)
self.b_utensil_remove = QtWidgets.QPushButton(self.t_utensils)
self.b_utensil_remove.setObjectName("b_utensil_remove")
self.horizontalLayout_12.addWidget(self.b_utensil_remove)
self.b_utensil_add = QtWidgets.QPushButton(self.t_utensils)
self.b_utensil_add.setObjectName("b_utensil_add")
self.horizontalLayout_12.addWidget(self.b_utensil_add)
self.verticalLayout_6.addLayout(self.horizontalLayout_12)
spacerItem6 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_6.addItem(spacerItem6)
self.horizontalLayout_11.addLayout(self.verticalLayout_6)
self.tabWidget.addTab(self.t_utensils, "")
self.t_steps = QtWidgets.QWidget()
self.t_steps.setObjectName("t_steps")
self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.t_steps)
self.verticalLayout_5.setObjectName("verticalLayout_5")
self.e_step = QtWidgets.QTextEdit(self.t_steps)
self.e_step.setObjectName("e_step")
self.verticalLayout_5.addWidget(self.e_step)
self.horizontalLayout_9 = QtWidgets.QHBoxLayout()
self.horizontalLayout_9.setObjectName("horizontalLayout_9")
spacerItem7 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_9.addItem(spacerItem7)
self.b_step_add = QtWidgets.QPushButton(self.t_steps)
self.b_step_add.setObjectName("b_step_add")
self.horizontalLayout_9.addWidget(self.b_step_add)
self.verticalLayout_5.addLayout(self.horizontalLayout_9)
self.v_steps = QtWidgets.QListView(self.t_steps)
self.v_steps.setObjectName("v_steps")
self.verticalLayout_5.addWidget(self.v_steps)
self.horizontalLayout_10 = QtWidgets.QHBoxLayout()
self.horizontalLayout_10.setObjectName("horizontalLayout_10")
spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_10.addItem(spacerItem8)
self.b_step_edit = QtWidgets.QPushButton(self.t_steps)
self.b_step_edit.setObjectName("b_step_edit")
self.horizontalLayout_10.addWidget(self.b_step_edit)
self.b_step_remove = QtWidgets.QPushButton(self.t_steps)
self.b_step_remove.setObjectName("b_step_remove")
self.horizontalLayout_10.addWidget(self.b_step_remove)
self.verticalLayout_5.addLayout(self.horizontalLayout_10)
self.tabWidget.addTab(self.t_steps, "")
self.t_notes = QtWidgets.QWidget()
self.t_notes.setObjectName("t_notes")
self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.t_notes)
self.verticalLayout_4.setObjectName("verticalLayout_4")
self.e_note = QtWidgets.QTextEdit(self.t_notes)
self.e_note.setObjectName("e_note")
self.verticalLayout_4.addWidget(self.e_note)
self.horizontalLayout_7 = QtWidgets.QHBoxLayout()
self.horizontalLayout_7.setObjectName("horizontalLayout_7")
spacerItem9 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_7.addItem(spacerItem9)
self.b_note_add = QtWidgets.QPushButton(self.t_notes)
self.b_note_add.setObjectName("b_note_add")
self.horizontalLayout_7.addWidget(self.b_note_add)
self.verticalLayout_4.addLayout(self.horizontalLayout_7)
self.v_notes = QtWidgets.QListView(self.t_notes)
self.v_notes.setObjectName("v_notes")
self.verticalLayout_4.addWidget(self.v_notes)
self.horizontalLayout_8 = QtWidgets.QHBoxLayout()
self.horizontalLayout_8.setObjectName("horizontalLayout_8")
spacerItem10 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_8.addItem(spacerItem10)
self.b_note_edit = QtWidgets.QPushButton(self.t_notes)
self.b_note_edit.setObjectName("b_note_edit")
self.horizontalLayout_8.addWidget(self.b_note_edit)
self.b_note_remove = QtWidgets.QPushButton(self.t_notes)
self.b_note_remove.setObjectName("b_note_remove")
self.horizontalLayout_8.addWidget(self.b_note_remove)
self.verticalLayout_4.addLayout(self.horizontalLayout_8)
self.tabWidget.addTab(self.t_notes, "")
self.t_tips = QtWidgets.QWidget()
self.t_tips.setObjectName("t_tips")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.t_tips)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.e_tips = QtWidgets.QTextEdit(self.t_tips)
self.e_tips.setObjectName("e_tips")
self.verticalLayout_2.addWidget(self.e_tips)
self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
self.horizontalLayout_5.setObjectName("horizontalLayout_5")
spacerItem11 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_5.addItem(spacerItem11)
self.e_tip_add = QtWidgets.QPushButton(self.t_tips)
self.e_tip_add.setObjectName("e_tip_add")
self.horizontalLayout_5.addWidget(self.e_tip_add)
self.verticalLayout_2.addLayout(self.horizontalLayout_5)
self.v_tips = QtWidgets.QListView(self.t_tips)
self.v_tips.setObjectName("v_tips")
self.verticalLayout_2.addWidget(self.v_tips)
self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
self.horizontalLayout_6.setObjectName("horizontalLayout_6")
spacerItem12 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_6.addItem(spacerItem12)
self.b_tip_edit = QtWidgets.QPushButton(self.t_tips)
self.b_tip_edit.setObjectName("b_tip_edit")
self.horizontalLayout_6.addWidget(self.b_tip_edit)
self.e_tip_remove = QtWidgets.QPushButton(self.t_tips)
self.e_tip_remove.setObjectName("e_tip_remove")
self.horizontalLayout_6.addWidget(self.e_tip_remove)
self.verticalLayout_2.addLayout(self.horizontalLayout_6)
self.tabWidget.addTab(self.t_tips, "")
self.t_variations = QtWidgets.QWidget()
self.t_variations.setObjectName("t_variations")
self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.t_variations)
self.verticalLayout_3.setObjectName("verticalLayout_3")
self.e_variation = QtWidgets.QTextEdit(self.t_variations)
self.e_variation.setObjectName("e_variation")
self.verticalLayout_3.addWidget(self.e_variation)
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
spacerItem13 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_3.addItem(spacerItem13)
self.b_variation_add = QtWidgets.QPushButton(self.t_variations)
self.b_variation_add.setObjectName("b_variation_add")
self.horizontalLayout_3.addWidget(self.b_variation_add)
self.verticalLayout_3.addLayout(self.horizontalLayout_3)
self.v_variations = QtWidgets.QListView(self.t_variations)
self.v_variations.setObjectName("v_variations")
self.verticalLayout_3.addWidget(self.v_variations)
self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
self.horizontalLayout_4.setObjectName("horizontalLayout_4")
spacerItem14 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_4.addItem(spacerItem14)
self.b_variation_edit = QtWidgets.QPushButton(self.t_variations)
self.b_variation_edit.setObjectName("b_variation_edit")
self.horizontalLayout_4.addWidget(self.b_variation_edit)
self.b_variation_remove = QtWidgets.QPushButton(self.t_variations)
self.b_variation_remove.setObjectName("b_variation_remove")
self.horizontalLayout_4.addWidget(self.b_variation_remove)
self.verticalLayout_3.addLayout(self.horizontalLayout_4)
self.tabWidget.addTab(self.t_variations, "")
self.t_rating = QtWidgets.QWidget()
self.t_rating.setObjectName("t_rating")
self.verticalLayout = QtWidgets.QVBoxLayout(self.t_rating)
self.verticalLayout.setObjectName("verticalLayout")
self.e_rating = QtWidgets.QTextEdit(self.t_rating)
self.e_rating.setObjectName("e_rating")
self.verticalLayout.addWidget(self.e_rating)
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
spacerItem15 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_2.addItem(spacerItem15)
self.b_rating_add = QtWidgets.QPushButton(self.t_rating)
self.b_rating_add.setObjectName("b_rating_add")
self.horizontalLayout_2.addWidget(self.b_rating_add)
self.verticalLayout.addLayout(self.horizontalLayout_2)
self.v_ratings = QtWidgets.QListView(self.t_rating)
self.v_ratings.setObjectName("v_ratings")
self.verticalLayout.addWidget(self.v_ratings)
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
spacerItem16 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem16)
self.b_rating_edit = QtWidgets.QPushButton(self.t_rating)
self.b_rating_edit.setObjectName("b_rating_edit")
self.horizontalLayout.addWidget(self.b_rating_edit)
self.b_rating_remove = QtWidgets.QPushButton(self.t_rating)
self.b_rating_remove.setObjectName("b_rating_remove")
self.horizontalLayout.addWidget(self.b_rating_remove)
self.verticalLayout.addLayout(self.horizontalLayout)
self.tabWidget.addTab(self.t_rating, "")
self.gridLayout.addWidget(self.tabWidget, 0, 0, 1, 1)
MainWindow.setCentralWidget(self.centralwidget)
self.menuBar = QtWidgets.QMenuBar(MainWindow)
self.menuBar.setGeometry(QtCore.QRect(0, 0, 800, 30))
self.menuBar.setObjectName("menuBar")
self.menuMen = QtWidgets.QMenu(self.menuBar)
self.menuMen.setObjectName("menuMen")
MainWindow.setMenuBar(self.menuBar)
self.ma_close = QtWidgets.QAction(MainWindow)
self.ma_close.setObjectName("ma_close")
self.ma_information = QtWidgets.QAction(MainWindow)
self.ma_information.setObjectName("ma_information")
self.menuMen.addAction(self.ma_information)
self.menuMen.addSeparator()
self.menuMen.addAction(self.ma_close)
self.menuBar.addAction(self.menuMen.menuAction())
self.retranslateUi(MainWindow)
self.tabWidget.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
MainWindow.setTabOrder(self.e_recipe_name, self.e_servings)
MainWindow.setTabOrder(self.e_servings, self.e_time)
MainWindow.setTabOrder(self.e_time, self.e_rating_overall)
MainWindow.setTabOrder(self.e_rating_overall, self.e_url)
MainWindow.setTabOrder(self.e_url, self.e_category)
MainWindow.setTabOrder(self.e_category, self.e_ingredient)
MainWindow.setTabOrder(self.e_ingredient, self.c_heading)
MainWindow.setTabOrder(self.c_heading, self.e_amount)
MainWindow.setTabOrder(self.e_amount, self.v_ingredients)
MainWindow.setTabOrder(self.v_ingredients, self.e_utensil)
MainWindow.setTabOrder(self.e_utensil, self.v_utensils)
MainWindow.setTabOrder(self.v_utensils, self.e_step)
MainWindow.setTabOrder(self.e_step, self.v_steps)
MainWindow.setTabOrder(self.v_steps, self.e_note)
MainWindow.setTabOrder(self.e_note, self.v_notes)
MainWindow.setTabOrder(self.v_notes, self.e_tips)
MainWindow.setTabOrder(self.e_tips, self.v_tips)
MainWindow.setTabOrder(self.v_tips, self.e_variation)
MainWindow.setTabOrder(self.e_variation, self.v_variations)
MainWindow.setTabOrder(self.v_variations, self.e_rating)
MainWindow.setTabOrder(self.e_rating, self.v_ratings)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "WikiCookBook"))
self.b_create.setText(_translate("MainWindow", "Rezept erstellen"))
self.b_cancel.setText(_translate("MainWindow", "Abbrechen"))
self.l_rating.setText(_translate("MainWindow", "Bewertung"))
self.l_url.setText(_translate("MainWindow", "Link"))
self.l_recipe_name.setText(_translate("MainWindow", "Rezeptname"))
self.l_servings.setText(_translate("MainWindow", "Portionen"))
self.l_zeit.setText(_translate("MainWindow", "Zeit"))
self.l_category.setText(_translate("MainWindow", "Kategorie"))
self.b_remove_category_remove.setText(_translate("MainWindow", "Ausgewähltes entfernen"))
self.b_category_add.setText(_translate("MainWindow", "Hinzufügen"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.t_basics), _translate("MainWindow", "Grundsätzliches"))
self.l_ingredient.setText(_translate("MainWindow", "Zutat"))
self.l_amount.setText(_translate("MainWindow", "Menge"))
self.c_heading.setText(_translate("MainWindow", "Zwischenüberschrift"))
self.b_ingredient_remove.setText(_translate("MainWindow", "Ausgewähltes entfernen"))
self.b_ingredient_add.setText(_translate("MainWindow", "Hinzufügen"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.t_ingredients), _translate("MainWindow", "Zutaten"))
self.l_utensil.setText(_translate("MainWindow", "Utensil"))
self.b_utensil_remove.setText(_translate("MainWindow", "Ausgewähltes entfernen"))
self.b_utensil_add.setText(_translate("MainWindow", "Hinzufügen"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.t_utensils), _translate("MainWindow", "Küchenutensilien"))
self.b_step_add.setText(_translate("MainWindow", "Hinzufügen"))
self.b_step_edit.setText(_translate("MainWindow", "Bearbeiten"))
self.b_step_remove.setText(_translate("MainWindow", "Entfernen"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.t_steps), _translate("MainWindow", "Zubereitung"))
self.b_note_add.setText(_translate("MainWindow", "Hinzufügen"))
self.b_note_edit.setText(_translate("MainWindow", "Bearbeiten"))
self.b_note_remove.setText(_translate("MainWindow", "Entfernen"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.t_notes), _translate("MainWindow", "Notizen"))
self.e_tip_add.setText(_translate("MainWindow", "Hinzufügen"))
self.b_tip_edit.setText(_translate("MainWindow", "Bearbeiten"))
self.e_tip_remove.setText(_translate("MainWindow", "Entfernen"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.t_tips), _translate("MainWindow", "Tipps"))
self.b_variation_add.setText(_translate("MainWindow", "Hinzufügen"))
self.b_variation_edit.setText(_translate("MainWindow", "Bearbeiten"))
self.b_variation_remove.setText(_translate("MainWindow", "Entfernen"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.t_variations), _translate("MainWindow", "Variantionen"))
self.b_rating_add.setText(_translate("MainWindow", "Hinzufügen"))
self.b_rating_edit.setText(_translate("MainWindow", "Bearbeiten"))
self.b_rating_remove.setText(_translate("MainWindow", "Entfernen"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.t_rating), _translate("MainWindow", "Bewertung"))
self.menuMen.setTitle(_translate("MainWindow", "Me&nü"))
self.ma_close.setText(_translate("MainWindow", "&Schließen"))
self.ma_information.setText(_translate("MainWindow", "Informationen"))

771
ui_mainwindow.ui Normal file
View file

@ -0,0 +1,771 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<author>Marcel Kapfer</author>
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>620</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>800</width>
<height>620</height>
</size>
</property>
<property name="windowTitle">
<string>WikiCookBook</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout">
<property name="leftMargin">
<number>10</number>
</property>
<property name="topMargin">
<number>10</number>
</property>
<property name="rightMargin">
<number>10</number>
</property>
<property name="bottomMargin">
<number>10</number>
</property>
<item row="1" column="0">
<layout class="QHBoxLayout" name="y_buttons">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="b_create">
<property name="text">
<string>Rezept erstellen</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="b_cancel">
<property name="text">
<string>Abbrechen</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="0">
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="t_basics">
<attribute name="title">
<string>Grundsätzliches</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_9">
<item>
<layout class="QGridLayout" name="y_basics">
<item row="2" column="0">
<widget class="QLabel" name="l_rating">
<property name="text">
<string>Bewertung</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QLabel" name="l_url">
<property name="text">
<string>Link</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="e_servings"/>
</item>
<item row="2" column="3">
<widget class="QLineEdit" name="e_url"/>
</item>
<item row="0" column="0">
<widget class="QLabel" name="l_recipe_name">
<property name="text">
<string>Rezeptname</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QLineEdit" name="e_time"/>
</item>
<item row="0" column="1" colspan="3">
<widget class="QLineEdit" name="e_recipe_name"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="l_servings">
<property name="text">
<string>Portionen</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLabel" name="l_zeit">
<property name="text">
<string>Zeit</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="e_rating_overall">
<property name="maximum">
<number>5</number>
</property>
<property name="value">
<number>3</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_16">
<item>
<widget class="QListView" name="v_categories"/>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_8">
<item>
<layout class="QGridLayout" name="y_category">
<item row="0" column="0">
<widget class="QLabel" name="l_category">
<property name="text">
<string>Kategorie</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="e_category"/>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_15">
<item>
<spacer name="horizontalSpacer_14">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="b_remove_category_remove">
<property name="text">
<string>Ausgewähltes entfernen</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="b_category_add">
<property name="text">
<string>Hinzufügen</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="t_ingredients">
<attribute name="title">
<string>Zutaten</string>
</attribute>
<layout class="QHBoxLayout" name="horizontalLayout_14">
<item>
<widget class="QListView" name="v_ingredients"/>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_7">
<item>
<layout class="QGridLayout" name="y_ingredient">
<item row="3" column="1">
<widget class="QLineEdit" name="e_amount"/>
</item>
<item row="0" column="0">
<widget class="QLabel" name="l_ingredient">
<property name="text">
<string>Zutat</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="l_amount">
<property name="text">
<string>Menge</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="c_heading">
<property name="text">
<string>Zwischenüberschrift</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="e_ingredient"/>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_13">
<item>
<spacer name="horizontalSpacer_13">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="b_ingredient_remove">
<property name="text">
<string>Ausgewähltes entfernen</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="b_ingredient_add">
<property name="text">
<string>Hinzufügen</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="t_utensils">
<attribute name="title">
<string>Küchenutensilien</string>
</attribute>
<layout class="QHBoxLayout" name="horizontalLayout_11">
<item>
<widget class="QListView" name="v_utensils"/>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<layout class="QGridLayout" name="y_utensils">
<item row="0" column="0">
<widget class="QLabel" name="l_utensil">
<property name="text">
<string>Utensil</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="e_utensil"/>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_12">
<item>
<spacer name="horizontalSpacer_12">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="b_utensil_remove">
<property name="text">
<string>Ausgewähltes entfernen</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="b_utensil_add">
<property name="text">
<string>Hinzufügen</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="t_steps">
<attribute name="title">
<string>Zubereitung</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<widget class="QTextEdit" name="e_step"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_9">
<item>
<spacer name="horizontalSpacer_10">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="b_step_add">
<property name="text">
<string>Hinzufügen</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QListView" name="v_steps"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_10">
<item>
<spacer name="horizontalSpacer_11">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="b_step_edit">
<property name="text">
<string>Bearbeiten</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="b_step_remove">
<property name="text">
<string>Entfernen</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="t_notes">
<attribute name="title">
<string>Notizen</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QTextEdit" name="e_note"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<spacer name="horizontalSpacer_8">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="b_note_add">
<property name="text">
<string>Hinzufügen</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QListView" name="v_notes"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_8">
<item>
<spacer name="horizontalSpacer_9">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="b_note_edit">
<property name="text">
<string>Bearbeiten</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="b_note_remove">
<property name="text">
<string>Entfernen</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="t_tips">
<attribute name="title">
<string>Tipps</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QTextEdit" name="e_tips"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="e_tip_add">
<property name="text">
<string>Hinzufügen</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QListView" name="v_tips"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<spacer name="horizontalSpacer_7">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="b_tip_edit">
<property name="text">
<string>Bearbeiten</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="e_tip_remove">
<property name="text">
<string>Entfernen</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="t_variations">
<attribute name="title">
<string>Variantionen</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QTextEdit" name="e_variation"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="b_variation_add">
<property name="text">
<string>Hinzufügen</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QListView" name="v_variations"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="b_variation_edit">
<property name="text">
<string>Bearbeiten</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="b_variation_remove">
<property name="text">
<string>Entfernen</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="t_rating">
<attribute name="title">
<string>Bewertung</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTextEdit" name="e_rating"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="b_rating_add">
<property name="text">
<string>Hinzufügen</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QListView" name="v_ratings"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="b_rating_edit">
<property name="text">
<string>Bearbeiten</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="b_rating_remove">
<property name="text">
<string>Entfernen</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menuBar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>30</height>
</rect>
</property>
<widget class="QMenu" name="menuMen">
<property name="title">
<string>Me&amp;nü</string>
</property>
<addaction name="ma_information"/>
<addaction name="separator"/>
<addaction name="ma_close"/>
</widget>
<addaction name="menuMen"/>
</widget>
<action name="ma_close">
<property name="text">
<string>&amp;Schließen</string>
</property>
</action>
<action name="ma_information">
<property name="text">
<string>Informationen</string>
</property>
</action>
</widget>
<tabstops>
<tabstop>e_recipe_name</tabstop>
<tabstop>e_servings</tabstop>
<tabstop>e_time</tabstop>
<tabstop>e_rating_overall</tabstop>
<tabstop>e_url</tabstop>
<tabstop>e_category</tabstop>
<tabstop>e_ingredient</tabstop>
<tabstop>c_heading</tabstop>
<tabstop>e_amount</tabstop>
<tabstop>v_ingredients</tabstop>
<tabstop>e_utensil</tabstop>
<tabstop>v_utensils</tabstop>
<tabstop>e_step</tabstop>
<tabstop>v_steps</tabstop>
<tabstop>e_note</tabstop>
<tabstop>v_notes</tabstop>
<tabstop>e_tips</tabstop>
<tabstop>v_tips</tabstop>
<tabstop>e_variation</tabstop>
<tabstop>v_variations</tabstop>
<tabstop>e_rating</tabstop>
<tabstop>v_ratings</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>