77from dataclasses import dataclass, field, replace
88from datetime import datetime
99from pathlib import Path
10-
11- import os, sys
10+ # ---------------------------------------------------------------------------
11+ import sys
12+ import os
13+ # ---------------------------------------------------------------------------
14+ # early environment settings ...
15+ # ---------------------------------------------------------------------------
16+ os.environ.setdefault("QTWEBENGINE_CHROMIUM_FLAGS",""
17+ + "--disable-gpu "
18+ + "--disable-software-rasterizer")
19+ os.environ["QT_LOGGING_RULES"] = "qt.webengine.*=true"
1220# ---------------------------------------------------------------------------
1321# global used application stuff. try to catch import exceptions ...
1422# ---------------------------------------------------------------------------
170178# ---------------------------------------------------------------------------
171179os.environ["PATH"] = ".\\_internal" + os.pathsep + os.environ.get("PATH","")
172180
181+ # ---------------------------------------------------------------------------
182+ # Pfad zum entpackten Bundle oder zum Projekt (beim Entwickeln)
183+ # ---------------------------------------------------------------------------
184+ def base_dir():
185+ return Path(getattr(sys, "_MEIPASS", Path(__file__).resolve().parent))
186+
173187# ---------------------------------------------------------------------------
174188# \brief Sorgt dafür, dass (user-)site-packages auf sys.path sind.
175189# ---------------------------------------------------------------------------
@@ -843,17 +857,20 @@ def add_font_to_registry(font_name, font_path):
843857 # ------------------------------------------------------------------------
844858 # Qt5 gui framework
845859 # ------------------------------------------------------------------------
846- from PyQt5.QtWidgets import *
847860 from PyQt5.QtCore import *
848861 from PyQt5.QtGui import *
862+ from PyQt5.QtWidgets import *
849863 from PyQt5.QtPrintSupport import *
850- from PyQt5.QtWebEngineWidgets import *
851864 from PyQt5.QtNetwork import *
865+ from PyQt5.QtWebEngineWidgets import *
852866 from PyQt5.QtWebChannel import *
853867 from PyQt5.QtSerialPort import QSerialPort, QSerialPortInfo
854868
869+ from PyQt5 import QtWebEngineCore
855870 from PyQt5 import QtGui
856871
872+ QCoreApplication.setAttribute(Qt.AA_ShareOpenGLContexts, True)
873+
857874 # ------------------------------------------------------------------------
858875 import resources_rc
859876
@@ -880,6 +897,12 @@ def add_font_to_registry(font_name, font_path):
880897
881898 from tempfile import mkdtemp, TemporaryDirectory
882899 from contextlib import redirect_stdout
900+
901+ # ------------------------------------------------------------------------
902+ # global used variable constants ...
903+ # ------------------------------------------------------------------------
904+ assets_root = base_dir() / "src"
905+ base_url = QUrl.fromLocalFile(str(assets_root) + os.sep)
883906
884907 # ------------------------------------------------------------------------
885908 # global office-time goodies constant's - there because Qt5 imports ...
@@ -24548,7 +24571,7 @@ def init_ui(self):
2454824571 self.help_tabs = QTabWidget()
2454924572 self.help_tabs.setStyleSheet(_css(genv.css_tabs))
2455024573 self.help_tabs.setMinimumWidth(800)
24551-
24574+ #showInfo("helllll")
2455224575 # help
2455324576 self.help_layout = QHBoxLayout()
2455424577
@@ -24759,12 +24782,14 @@ def init_ui(self):
2475924782 self.tab2_tree_model.dataChanged.connect(self.on_data_changed)
2476024783 self.tab2_tree_view.setModel(self.tab2_tree_model)
2476124784
24762-
24785+ #showInfo("11111")
2476324786 root_node = self.tab2_tree_model.invisibleRootItem()
2476424787 self.fold_icon = genv.v__app__internal__ + "/img/floppy-disk.png"
24788+ #showInfo("ddddd")
2476524789
2476624790 self.tab2_tree_view.setContextMenuPolicy(Qt.CustomContextMenu)
2476724791 self.tab2_tree_view.customContextMenuRequested.connect(self.open_context_topics_menu)
24792+ #showInfo("ddd dd")
2476824793
2476924794 self.tab2_pushbuttonAdd = QPushButton(_str("Add"))
2477024795 self.tab2_pushbuttonAdd.setMinimumHeight(32)
@@ -24799,7 +24824,7 @@ def init_ui(self):
2479924824 self.tab2_pushbuttonRemove = QPushButton(_str("Delete"))
2480024825 self.tab2_pushbuttonRemove.setMinimumHeight(32)
2480124826 self.tab2_pushbuttonRemove.setStyleSheet(_css(genv.css_button_style))
24802-
24827+ #showInfo("1212122121212 ddddd")
2480324828 top_array = [
2480424829 self.tab2_pushbuttonAdd,
2480524830 self.tab2_pushbuttonAddSub,
@@ -24878,14 +24903,15 @@ def init_ui(self):
2487824903 self.tab0_fold_edit1 = myLineEdit()
2487924904 self.tab0_fold_edit1.setMinimumWidth(274)
2488024905 self.tab0_fold_edit1.returnPressed.connect(self.tab0_fold_edit1_return)
24881-
24906+ #showInfo("ddddd 33444343434")
2488224907 # default
2488324908 self.tab0_fold_push1 = OpenProjectButton(self, font)
2488424909 self.tab0_fold_userd = QDir.homePath()
2488524910 self.tab0_fold_userd = self.tab0_fold_userd.replace("\\",'/')
2488624911
2488724912 # directory check:
2488824913 info = check_directory(self.tab0_fold_userd, deny_symlink=True)
24914+ #showInfo("dsadsadsadsasdasd asdsadddd")
2488924915 if not info["exists"]:
2489024916 showError(""
2489124917 + _str("Error:") + "\n"
@@ -24957,7 +24983,7 @@ def init_ui(self):
2495724983
2495824984 donate = ClickableImage()
2495924985 button = GradientButton("Online Help", self)
24960-
24986+ #showInfo("ddddd -----------------------")
2496124987 self.tab0_topB_vlayout.addWidget(donate)
2496224988 self.tab0_topB_vlayout.addWidget(button)
2496324989 #
@@ -25111,7 +25137,7 @@ def init_ui(self):
2511125137 self.list_blue_item3.setFlags(
2511225138 self.list_blue_item3.flags() & ~Qt.ItemIsSelectable)
2511325139 self.tab0_help_list2.addItem(self.list_blue_item3)
25114-
25140+ #showInfo("ddd90890880890890099dd")
2511525141 liste = [
2511625142 [_str("Empty Project") , os.path.join("emptyproject" + genv.v__app__img_ext__) ],
2511725143 [_str("Recipe") , os.path.join("recipe" + genv.v__app__img_ext__) ],
@@ -25353,40 +25379,80 @@ def init_ui(self):
2535325379 # ------------------
2535425380 # alles zusammen ...
2535525381 # ------------------
25356- self.webView1 = QWebEngineView(self.tab_html)
25357- self.profile1 = QWebEngineProfile("storage1", self.webView1)
25358- self.page1 = QWebEnginePage(self.profile1, self.webView1)
25359-
25360- self.webView1.setPage(self.page1)
25361- self.webView1.setHtml(_str(genv.html_content), baseUrl = QUrl.fromLocalFile('.'))
25362-
25363- self.tab5_top_layout.addWidget(self.webView1);
25382+ print(self.tab_html)
25383+ #self.webView1 = QWebEngineView(genv.v__app_object) #self.tab_html)
25384+ profile = QWebEngineProfile("storage1", genv.v__app_object) #self.webView1)
25385+
25386+ ##showInfo(">>>>>>>> ------- <<<<<<< oooooooooooooooooooooooooooo ddddd")
25387+
25388+ base_store = pathlib.Path.home() / ".myapp" / "webengine" / "profile1"
25389+ base = QUrl.fromLocalFile(str(Path(BASEDIR).resolve()) + os.sep)
25390+ html = "<!doctype html><meta charset='utf-8'><h1>Hallo</h1>"
25391+
25392+ (base_store / "cache" ).mkdir(parents = True, exist_ok = True)
25393+ (base_store / "storage").mkdir(parents = True, exist_ok = True)
25394+
25395+ profile.setCachePath(str(base_store / "cache"))
25396+ profile.setPersistentStoragePath(str(base_store / "storage"))
25397+
25398+ page = QWebEnginePage(profile, genv.v__app_object)
25399+ view = QWebEngineView()
25400+ view.setPage(page)
25401+
25402+ #showInfo("ooooooooo >>>>>>>> ------- <<<<<<< oooooooooooooooooooooooooooo ddddd")
25403+
25404+ #self.webView1.setPage(self.page1)
25405+ #self.webView1.loadFinished.connect(lambda ok: print("loadFinished:", ok))
25406+ #self.webView1.loadStarted.connect(lambda: print("loadStarted"))
25407+ #self.webView1.setHtml(str(html), base)
25408+
25409+ #try:
25410+ # #self.webView1.setPage(self.page1)
25411+ # print("------------------------------------------")
25412+ # print(self.webView1)
25413+ # print(self.tab5_top_layout)
25414+ # print(self.tab0_top_layout)
25415+ # print(self.tab0_left_layout)
25416+ # print(self.tab1_top_layout)
25417+ # showInfo(str(_str(genv.html_content)))
25418+ # #self.webView1.setHtml(_str(genv.html_content), QUrl.fromLocalFile(BASEDIR))
25419+ #showInfo("oooooooooooo1111 2222 3333 oooooooooooooooo ddddd")
25420+ # self.tab5_top_layout.addWidget(self.webView1);
2536425421 self.tab0_top_layout.addLayout(self.tab0_left_layout)
25365-
25422+ #showInfo("oooo ooooooooooooo ooooooooooo ddddd")
2536625423 self.tab1_top_layout.addLayout(self.tab1_left_layout)
2536725424 self.tab1_top_layout.addLayout(self.tab1_middle_layout)
2536825425 self.tab1_top_layout.addLayout(self.tab1_right_layout)
25369-
25426+ #except Exception as e:
25427+ # showError(e)
25428+ # return
25429+
25430+ #showInfo("oooooooooooooooooooooooooooo ddddd")
2537025431 self.set_window_layout()
25371-
25432+ #showInfo("ddd mm m m m mm m m m m m m m dd")
2537225433 #return
2537325434 # Timer
2537425435 self.timer = QTimer(self)
2537525436 self.timer.timeout.connect(self.updateCountdown)
25376-
25437+ #showInfo("ddddd 444444444444447777777777777777 8888888888888")
2537725438 self.interval = 0
2537825439 self.currentTime = 0
2537925440
2538025441 def set_window_layout(self):
25381-
25382- self.front_content_widget.setLayout(self.front_content_layout)
25383- self.front_scroll_area .setWidget(self.front_content_widget)
25384-
25385- splitter = QSplitter(Qt.Horizontal)
25386- splitter.addWidget(self.front_scroll_area)
25387- splitter.addWidget(genv.servers_scroll)
25388- #
25389- self.main_content_layout.addWidget(splitter)
25442+ #showInfo("ddddd -------- oooooo 11111")
25443+ try:
25444+ self.front_content_widget.setLayout(self.front_content_layout)
25445+ #showInfo("ddddd ------- uuuuuuuu 222222")
25446+ self.front_scroll_area .setWidget(self.front_content_widget)
25447+ #showInfo("ddddd000oooooo oo oo")
25448+ splitter = QSplitter(Qt.Horizontal)
25449+ splitter.addWidget(self.front_scroll_area)
25450+ splitter.addWidget(genv.servers_scroll)
25451+ #
25452+ self.main_content_layout.addWidget(splitter)
25453+ except Exception as e:
25454+ showError(e)
25455+ return
2539025456
2539125457 #self.main_content_layout.addWidget(self.front_scroll_area)
2539225458 #self.main_content_layout.addWidget(genv.servers_scroll)
@@ -25398,10 +25464,13 @@ def set_window_layout(self):
2539825464 self.main_layout.addWidget(self.title_bar)
2539925465 self.main_layout.addWidget(self.menu_bar)
2540025466 self.main_layout.addWidget(self.tool_bar)
25467+ #showInfo("aaaaaa")
2540125468 self.main_layout.addLayout(self.main_content_layout)
2540225469 self.main_layout.addWidget(self.status_bar)
25470+ #showInfo("nnnnnnnn")
2540325471
2540425472 self.setLayout(self.main_layout)
25473+ #showInfo("mmmmxxxxxx")
2540525474
2540625475 def radio_button_toggled(self):
2540725476 sender = self.sender()
@@ -28088,7 +28157,7 @@ def _build_algebra_tab(self) -> QWidget:
2808828157
2808928158 self.math_combo_list = [
2809028159 [ "Ausdruck", expr_row, self.math_calc_ausdruck],
28091- [ "Binomialkoeffizient", cnk, self.math_calc_binc],
28160+ [ "Binomialkoeffizient", cnk, self.math_calc_binc],
2809228161
2809328162 [ "Größter gemeinsame Teiler / Kleinste gemeinsame vielfache", kgv, self.math_calc_kgv],
2809428163
@@ -28202,8 +28271,11 @@ def _build_algebra_tab(self) -> QWidget:
2820228271 layout.addWidget(steps_lbl)
2820328272 layout.addWidget(self.steps_algebra)
2820428273
28274+ #showInfo("1111")
2820528275 for item in self.math_combo_list:
2820628276 self.set_layout_visible(item[1], False)
28277+
28278+ #showInfo("22222")
2820728279 return w
2820828280
2820928281 def set_layout_visible(self, layout, visible: bool):
@@ -36067,6 +36139,7 @@ def main(argv=None) -> int:
3606736139 script_path, script_name = os.path.split(script)
3606836140 script_path = os.path.abspath(script_path)
3606936141
36142+ print("Hello from client")
3607036143 sys.exit(main())
3607136144 else:
3607236145 raise Exception(_str("no startup routine found."))
0 commit comments