mirror of
https://github.com/emendir/EndraApp.git
synced 2026-04-29 02:34:19 -04:00
better chat page handling
This commit is contained in:
4
ToDo.md
4
ToDo.md
@@ -5,3 +5,7 @@
|
||||
|
||||
## Bugs
|
||||
- on app crashing, cursor doesn't work anywhere on all screens
|
||||
|
||||
## Cleanup
|
||||
- TEMP_HARDCODED_KEY
|
||||
-
|
||||
@@ -1,4 +1,2 @@
|
||||
import sys
|
||||
import os
|
||||
os.chdir(os.path.dirname(__file__))
|
||||
os.system(f"{sys.executable} -m endra_app")
|
||||
from endra_app.main import main
|
||||
main()
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
if __package__ is None: # if this script is executed directly not as part of a package
|
||||
import os ,sys
|
||||
os.system(f"{sys.executable} {os.path.dirname(os.path.dirname(__file__))}")
|
||||
else:
|
||||
from .main import run_app
|
||||
run_app()
|
||||
import os
|
||||
import sys
|
||||
os.chdir(os.path.dirname(os.path.dirname(__file__)))
|
||||
os.system(f"{sys.executable} .")
|
||||
|
||||
@@ -70,10 +70,17 @@ class MessagePageView(BoxLayout):
|
||||
)
|
||||
self.message_editor = MessageEditor()
|
||||
self.add_widget(self.message_editor)
|
||||
|
||||
def deactivate(self):
|
||||
self.disabled=True
|
||||
def activate(self):
|
||||
self.disabled=False
|
||||
|
||||
class MessagePage(MessagePageView):
|
||||
def __init__(self, main, correspondence: Correspondence | None, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
self.deactivate()
|
||||
|
||||
self.main = main
|
||||
self.correspondence = correspondence
|
||||
|
||||
@@ -82,6 +89,8 @@ class MessagePage(MessagePageView):
|
||||
def load_correspondence(self, correspondence):
|
||||
self.correspondence = correspondence
|
||||
self.reload_messages()
|
||||
self.activate()
|
||||
|
||||
def reload_messages(self):
|
||||
logger.info("Reloading chat messages...")
|
||||
|
||||
@@ -97,6 +106,7 @@ class MessagePage(MessagePageView):
|
||||
self.correspondence.add_message(
|
||||
self.message_editor.get_message_content()
|
||||
)
|
||||
self.message_editor.text_input_txbx.text = ""
|
||||
self.reload_messages()
|
||||
|
||||
def add_widget_to_scroll(self, message):
|
||||
|
||||
@@ -37,6 +37,10 @@ class MainApp(App):
|
||||
# Add side-bar and central page
|
||||
self.side_bar = SideBar(self, self.profile)
|
||||
self.chat_page = MessagePage(self, None)
|
||||
if self.profile:
|
||||
correspondences = self.profile.get_active_correspondences()
|
||||
if len(correspondences) > 0:
|
||||
self.chat_page.load_correspondence(self.profile.get_correspondence(list(correspondences)[0]))
|
||||
|
||||
root.add_widget(self.side_bar)
|
||||
root.add_widget(self.chat_page)
|
||||
@@ -70,9 +74,9 @@ class MainApp(App):
|
||||
profile.terminate()
|
||||
|
||||
|
||||
def run_app():
|
||||
def main():
|
||||
MainApp().run()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
run_app()
|
||||
main()
|
||||
|
||||
@@ -73,13 +73,16 @@ class SideBar(SideBarView):
|
||||
|
||||
self.remove_all_widgets()
|
||||
if self.profile:
|
||||
for correspondence_id in self.profile.get_active_correspondences():
|
||||
active_correspondences=self.profile.get_active_correspondences()
|
||||
for correspondence_id in active_correspondences:
|
||||
self.add_widget_to_scroll(self.profile.get_correspondence(correspondence_id))
|
||||
|
||||
|
||||
|
||||
def create_correspondence(self, instance=None):
|
||||
logger.info("Creating correspondence...")
|
||||
self.profile.create_correspondence()
|
||||
correspondence = self.profile.create_correspondence()
|
||||
self.reload_correspondences()
|
||||
self.main.chat_page.load_correspondence(correspondence)
|
||||
|
||||
def add_widget_to_scroll(self, correspondence):
|
||||
widget = CorrespondenceHeader(
|
||||
|
||||
@@ -5,8 +5,9 @@ import walytis_beta_api as walytis_api
|
||||
from endra_app import config
|
||||
from endra_app.config import APPDATA_DIR
|
||||
import os
|
||||
import endra_app
|
||||
from endra_app import main
|
||||
from endra_app.main import run_app
|
||||
from endra_app.main import main
|
||||
walytis_api.log.PRINT_DEBUG = False
|
||||
|
||||
|
||||
@@ -14,7 +15,7 @@ _testing_utils.assert_is_loaded_from_source(
|
||||
source_dir=os.path.join(os.path.dirname(__file__), "..", ".."), module=config
|
||||
)
|
||||
_testing_utils.assert_is_loaded_from_source(
|
||||
source_dir=os.path.join(os.path.dirname(__file__), "..", ".."), module=main
|
||||
source_dir=os.path.join(os.path.dirname(__file__), "..", ".."), module=endra_app
|
||||
)
|
||||
print(APPDATA_DIR)
|
||||
if os.path.exists(APPDATA_DIR):
|
||||
@@ -25,4 +26,4 @@ APPDATA_BACKUP_DIR = os.path.join(
|
||||
)
|
||||
print(APPDATA_BACKUP_DIR)
|
||||
shutil.copytree(APPDATA_BACKUP_DIR, APPDATA_DIR)
|
||||
run_app()
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user