qcanvas 1.2.2__py3-none-any.whl → 2.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of qcanvas might be problematic. Click here for more details.

Files changed (130) hide show
  1. qcanvas/__init__.py +54 -0
  2. qcanvas/app.py +93 -0
  3. qcanvas/backend_connectors/frontend_resource_manager.py +13 -5
  4. qcanvas/backend_connectors/qcanvas_task_master.py +2 -2
  5. qcanvas/icons/__init__.py +5 -5
  6. qcanvas/icons/_icon_type.py +1 -1
  7. qcanvas/icons/icons.qrc +47 -43
  8. qcanvas/icons/rc_icons.py +1298 -1197
  9. qcanvas/settings/__init__.py +6 -0
  10. qcanvas/{util/settings → settings}/_client_settings.py +4 -4
  11. qcanvas/settings/_course_settings.py +54 -0
  12. qcanvas/{util/settings → settings}/_mapped_setting.py +2 -5
  13. qcanvas/{util/settings → settings}/_ui_settings.py +4 -4
  14. qcanvas/theme.py +101 -0
  15. qcanvas/ui/course_viewer/content_tree.py +9 -12
  16. qcanvas/ui/course_viewer/course_tree/_course_icon_generator.py +3 -3
  17. qcanvas/ui/course_viewer/course_tree/course_tree.py +9 -8
  18. qcanvas/ui/course_viewer/course_viewer.py +35 -43
  19. qcanvas/ui/course_viewer/tabs/assignment_tab/assignment_tab.py +107 -29
  20. qcanvas/ui/course_viewer/tabs/assignment_tab/assignment_tree.py +4 -4
  21. qcanvas/ui/course_viewer/tabs/constants.py +1 -0
  22. qcanvas/ui/course_viewer/tabs/content_tab.py +33 -39
  23. qcanvas/ui/course_viewer/tabs/file_tab/file_tab.py +4 -4
  24. qcanvas/ui/course_viewer/tabs/file_tab/file_tree.py +7 -10
  25. qcanvas/ui/course_viewer/tabs/file_tab/pages_file_tree.py +6 -7
  26. qcanvas/ui/course_viewer/tabs/mail_tab/mail_tab.py +50 -27
  27. qcanvas/ui/course_viewer/tabs/mail_tab/mail_tree.py +7 -8
  28. qcanvas/ui/course_viewer/tabs/page_tab/page_tab.py +3 -3
  29. qcanvas/ui/course_viewer/tabs/page_tab/page_tree.py +5 -5
  30. qcanvas/ui/course_viewer/tabs/resource_rich_browser.py +15 -21
  31. qcanvas/ui/course_viewer/tree_widget_data_item.py +1 -1
  32. qcanvas/ui/memory_tree/_tree_memory.py +45 -42
  33. qcanvas/ui/memory_tree/memory_tree_widget.py +22 -18
  34. qcanvas/ui/memory_tree/memory_tree_widget_item.py +3 -3
  35. qcanvas/ui/qcanvas_window/__init__.py +1 -0
  36. qcanvas/ui/{main_ui → qcanvas_window}/course_viewer_container.py +10 -10
  37. qcanvas/ui/{main_ui → qcanvas_window}/options/auto_download_resources_option.py +5 -5
  38. qcanvas/ui/{main_ui → qcanvas_window}/options/quick_sync_option.py +7 -6
  39. qcanvas/ui/{main_ui → qcanvas_window}/options/sync_on_start_option.py +7 -6
  40. qcanvas/ui/{main_ui → qcanvas_window}/options/theme_selection_menu.py +10 -10
  41. qcanvas/ui/{main_ui → qcanvas_window}/qcanvas_window.py +38 -33
  42. qcanvas/ui/{main_ui → qcanvas_window}/status_bar_progress_display.py +5 -6
  43. qcanvas/ui/qml_components/AttachmentsList.ui.qml +15 -0
  44. qcanvas/ui/qml_components/AttachmentsListDelegate.qml +77 -0
  45. qcanvas/ui/qml_components/AttachmentsListModel.qml +19 -0
  46. qcanvas/ui/qml_components/AttachmentsPane.qml +12 -0
  47. qcanvas/ui/qml_components/CommentsList.ui.qml +15 -0
  48. qcanvas/ui/qml_components/CommentsListDelegate.ui.qml +118 -0
  49. qcanvas/ui/qml_components/CommentsListModel.qml +56 -0
  50. qcanvas/ui/qml_components/CommentsPane.qml +12 -0
  51. qcanvas/ui/qml_components/DarkTheme.qml +12 -0
  52. qcanvas/ui/qml_components/DecoratedText.ui.qml +44 -0
  53. qcanvas/ui/qml_components/LightTheme.qml +11 -0
  54. qcanvas/ui/qml_components/Spacer.ui.qml +7 -0
  55. qcanvas/ui/qml_components/ThemedRectangle.qml +37 -0
  56. qcanvas/ui/qml_components/__init__.py +3 -0
  57. qcanvas/ui/qml_components/attachments_pane.py +72 -0
  58. qcanvas/ui/qml_components/comments_pane.py +85 -0
  59. qcanvas/ui/qml_components/qml_bridge_types.py +95 -0
  60. qcanvas/ui/qml_components/qml_pane.py +22 -0
  61. qcanvas/ui/setup/setup_checker.py +1 -1
  62. qcanvas/ui/setup/setup_dialog.py +27 -10
  63. qcanvas/util/auto_downloader.py +9 -7
  64. qcanvas/util/basic_fonts.py +2 -2
  65. qcanvas/util/context_dict.py +12 -0
  66. qcanvas/util/file_icons.py +11 -19
  67. qcanvas/util/layouts.py +5 -7
  68. qcanvas/util/paths.py +17 -6
  69. qcanvas/util/qurl_util.py +1 -1
  70. qcanvas/util/ui_tools.py +118 -8
  71. qcanvas/util/url_checker.py +1 -1
  72. {qcanvas-1.2.2.dist-info → qcanvas-2.0.0.dist-info}/METADATA +12 -10
  73. qcanvas-2.0.0.dist-info/RECORD +91 -0
  74. {qcanvas-1.2.2.dist-info → qcanvas-2.0.0.dist-info}/WHEEL +1 -1
  75. qcanvas-2.0.0.dist-info/entry_points.txt +3 -0
  76. qcanvas/app_start/__init__.py +0 -59
  77. qcanvas/icons/_update_icons.py +0 -89
  78. qcanvas/icons/dark/actions/exit.svg +0 -3
  79. qcanvas/icons/dark/actions/mark_all_read.svg +0 -3
  80. qcanvas/icons/dark/actions/open_downloads.svg +0 -3
  81. qcanvas/icons/dark/actions/quick_login.svg +0 -3
  82. qcanvas/icons/dark/actions/sync.svg +0 -3
  83. qcanvas/icons/dark/branding/logo_transparent.svg +0 -303
  84. qcanvas/icons/dark/options/auto_download.svg +0 -3
  85. qcanvas/icons/dark/options/theme.svg +0 -3
  86. qcanvas/icons/dark/tabs/assignments.svg +0 -3
  87. qcanvas/icons/dark/tabs/mail.svg +0 -3
  88. qcanvas/icons/dark/tabs/pages.svg +0 -3
  89. qcanvas/icons/dark/tree_items/assignment.svg +0 -3
  90. qcanvas/icons/dark/tree_items/mail.svg +0 -3
  91. qcanvas/icons/dark/tree_items/module.svg +0 -3
  92. qcanvas/icons/dark/tree_items/page.svg +0 -3
  93. qcanvas/icons/light/actions/exit.svg +0 -3
  94. qcanvas/icons/light/actions/mark_all_read.svg +0 -3
  95. qcanvas/icons/light/actions/open_downloads.svg +0 -3
  96. qcanvas/icons/light/actions/quick_login.svg +0 -3
  97. qcanvas/icons/light/actions/sync.svg +0 -3
  98. qcanvas/icons/light/branding/logo_transparent.svg +0 -304
  99. qcanvas/icons/light/options/auto_download.svg +0 -3
  100. qcanvas/icons/light/options/ignore_old.svg +0 -3
  101. qcanvas/icons/light/options/include_videos.svg +0 -3
  102. qcanvas/icons/light/options/theme.svg +0 -3
  103. qcanvas/icons/light/tabs/assignments.svg +0 -3
  104. qcanvas/icons/light/tabs/mail.svg +0 -3
  105. qcanvas/icons/light/tabs/pages.svg +0 -3
  106. qcanvas/icons/light/tree_items/assignment.svg +0 -3
  107. qcanvas/icons/light/tree_items/mail.svg +0 -3
  108. qcanvas/icons/light/tree_items/module.svg +0 -3
  109. qcanvas/icons/light/tree_items/page.svg +0 -3
  110. qcanvas/icons/universal/branding/main_icon.svg +0 -325
  111. qcanvas/icons/universal/downloads/download_failed.svg +0 -23
  112. qcanvas/icons/universal/downloads/downloaded.svg +0 -23
  113. qcanvas/icons/universal/downloads/not_downloaded.svg +0 -23
  114. qcanvas/icons/universal/downloads/unknown.svg +0 -6
  115. qcanvas/icons/universal/tabs/assignments_new_content.svg +0 -3
  116. qcanvas/icons/universal/tabs/mail_new_content.svg +0 -3
  117. qcanvas/icons/universal/tabs/pages_new_content.svg +0 -3
  118. qcanvas/icons/universal/tree_items/semester.svg +0 -108
  119. qcanvas/run.py +0 -54
  120. qcanvas/ui/course_viewer/tabs/util.py +0 -11
  121. qcanvas/ui/main_ui/__init__.py +0 -0
  122. qcanvas/util/settings/__init__.py +0 -9
  123. qcanvas/util/themes/__init__.py +0 -2
  124. qcanvas/util/themes/_colour_scheme_helper.py +0 -38
  125. qcanvas/util/themes/_selected_theme.py +0 -10
  126. qcanvas/util/themes/_theme_changed_event.py +0 -17
  127. qcanvas/util/themes/_theme_changer.py +0 -86
  128. qcanvas-1.2.2.dist-info/RECORD +0 -118
  129. qcanvas-1.2.2.dist-info/entry_points.txt +0 -3
  130. /qcanvas/ui/{main_ui → qcanvas_window}/options/__init__.py +0 -0
@@ -1,10 +0,0 @@
1
- import logging
2
- from enum import Enum
3
-
4
- _logger = logging.getLogger(__name__)
5
-
6
-
7
- class SelectedTheme(Enum):
8
- AUTO = 0
9
- NATIVE = 1
10
- OVERRIDE = 2
@@ -1,17 +0,0 @@
1
- import logging
2
-
3
- from qtpy.QtCore import QObject, Signal
4
-
5
- _logger = logging.getLogger(__name__)
6
-
7
-
8
- class ThemeChangedEvent(QObject):
9
- theme_changed = Signal()
10
-
11
-
12
- theme_changed_event = ThemeChangedEvent(None)
13
-
14
-
15
- def theme_changed() -> Signal:
16
- global theme_changed_event
17
- return theme_changed_event.theme_changed
@@ -1,86 +0,0 @@
1
- import logging
2
-
3
- import qdarktheme
4
- from qtpy.QtCore import Slot
5
- from qtpy.QtGui import QIcon
6
- from qtpy.QtWidgets import QApplication, QStyleFactory
7
-
8
- from qcanvas.util.themes._colour_scheme_helper import (
9
- colour_scheme_changed,
10
- is_dark_colour_scheme,
11
- )
12
- from qcanvas.util.themes._selected_theme import SelectedTheme
13
- from qcanvas.util.themes._theme_changed_event import theme_changed
14
-
15
- _logger = logging.getLogger(__name__)
16
-
17
- default_theme = "auto"
18
- _is_dark_mode: bool | None = None
19
- _selected_theme: SelectedTheme | None = None
20
-
21
- _universal_path = ":icons/universal"
22
- _dark_path = ":icons/dark"
23
- _light_path = ":icons/light"
24
-
25
-
26
- def apply(theme: str) -> None:
27
- global _is_dark_mode, _selected_theme
28
-
29
- theme = ensure_theme_is_valid(theme)
30
- was_dark_mode = _is_dark_mode
31
-
32
- if theme != "native":
33
- if theme == "auto":
34
- _is_dark_mode = is_dark_colour_scheme()
35
- _selected_theme = SelectedTheme.AUTO
36
- selected_colour_scheme = "dark" if _is_dark_mode else "light"
37
- else:
38
- _is_dark_mode = theme == "dark"
39
- _selected_theme = SelectedTheme.OVERRIDE
40
- selected_colour_scheme = theme
41
-
42
- qdarktheme.setup_theme(
43
- selected_colour_scheme,
44
- custom_colors={"primary": "e02424"},
45
- )
46
-
47
- QApplication.setStyle(QStyleFactory.create("Fusion"))
48
- else:
49
- _is_dark_mode = is_dark_colour_scheme()
50
- _selected_theme = SelectedTheme.NATIVE
51
-
52
- if was_dark_mode != _is_dark_mode:
53
- _set_fallback_paths()
54
- theme_changed().emit()
55
-
56
-
57
- def is_dark_mode() -> bool:
58
- return _is_dark_mode
59
-
60
-
61
- def ensure_theme_is_valid(theme: str) -> str:
62
- if theme not in ["auto", "light", "dark", "native"]:
63
- return default_theme
64
- else:
65
- return theme
66
-
67
-
68
- @Slot()
69
- def _scheme_changed():
70
- global _selected_theme, _is_dark_mode
71
-
72
- if _selected_theme == SelectedTheme.AUTO:
73
- apply("auto")
74
- elif _selected_theme == SelectedTheme.NATIVE:
75
- _is_dark_mode = is_dark_colour_scheme()
76
- _set_fallback_paths()
77
- theme_changed().emit()
78
-
79
-
80
- def _set_fallback_paths():
81
- QIcon.setFallbackSearchPaths(
82
- [_dark_path if _is_dark_mode else _light_path, _universal_path]
83
- )
84
-
85
-
86
- colour_scheme_changed().connect(_scheme_changed)
@@ -1,118 +0,0 @@
1
- qcanvas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- qcanvas/app_start/__init__.py,sha256=r16bg9Otw8Sy6MYLmIt5Nu-oSwyYP8Y2kzMtbmeF6m0,1437
3
- qcanvas/backend_connectors/__init__.py,sha256=Wj8cmxQng3SSlmlXJyzHaPmvxbkauwsxINckPb7WuHc,108
4
- qcanvas/backend_connectors/frontend_resource_manager.py,sha256=87oszxCle0Y9AUAHH3wn_7oilY45ddMET-4EnpTtjn0,1322
5
- qcanvas/backend_connectors/qcanvas_task_master.py,sha256=CTPBvf_9w-livscKNspnd98mNvFLYTYHef0RQSUkfFc,742
6
- qcanvas/icons/__init__.py,sha256=gczS3dUVDSgkfalmNhnynILAkk4099BE8jWDTmY7fyY,1902
7
- qcanvas/icons/_icon_type.py,sha256=p5YpGAoJViOA2SB4o4Vw4jI_kDwrvzwCP8NIxUydCjo,901
8
- qcanvas/icons/_update_icons.py,sha256=iZrmZaaq2rIt5ATL9qJ-x2RhvQ4dDp391RsAhwfirLU,2410
9
- qcanvas/icons/dark/actions/exit.svg,sha256=FTw6JW0xq-xRh7oHQdhKrJpf2nkm4ot5kVjXXJRgszI,228
10
- qcanvas/icons/dark/actions/mark_all_read.svg,sha256=V7OEY0hjNmSJtt9Ufu0vgd5BZRH0pLCo5h58Xi0VJhI,201
11
- qcanvas/icons/dark/actions/open_downloads.svg,sha256=ft5TuP97ErGRq5RUVtEC5HaA28yqbebkZVfz3zfRA4w,359
12
- qcanvas/icons/dark/actions/quick_login.svg,sha256=I3_raVdsNKuCBazs8wj6JByu2p3qXSZ8_K8eYOmb3hw,982
13
- qcanvas/icons/dark/actions/sync.svg,sha256=qN8F5qg_TIirjDePfmQgiR0DO5FmSckOP5Wlo2KQhI0,413
14
- qcanvas/icons/dark/branding/logo_transparent.svg,sha256=1bVg8AK9FepOvWTcu_zDLX2eZ1inYuAMBwZRi252-5o,18660
15
- qcanvas/icons/dark/options/auto_download.svg,sha256=MYiffHrLsCkLJ55SaKfBkoC3WZTe8Fj8l-jYzON28Mc,284
16
- qcanvas/icons/dark/options/theme.svg,sha256=9Clv7h2z0YuprG4CoPEJAvl_mUsAeGwepe2tGvYJZoc,383
17
- qcanvas/icons/dark/tabs/assignments.svg,sha256=MlYp4ibpT5bb3V2nRBwrTfNYzfFkvEX7uf287uy4i5k,502
18
- qcanvas/icons/dark/tabs/mail.svg,sha256=CoTukvsulJnVtPdTgIExdUdoPtB4W-lnIvs4m-s80vc,334
19
- qcanvas/icons/dark/tabs/pages.svg,sha256=TCoeLrX-UOzESVJMVVP1XnA6YfGKO7C3BDtH683nJ1k,339
20
- qcanvas/icons/dark/tree_items/assignment.svg,sha256=MlYp4ibpT5bb3V2nRBwrTfNYzfFkvEX7uf287uy4i5k,502
21
- qcanvas/icons/dark/tree_items/mail.svg,sha256=CoTukvsulJnVtPdTgIExdUdoPtB4W-lnIvs4m-s80vc,334
22
- qcanvas/icons/dark/tree_items/module.svg,sha256=mfb16D2rGcVudJd4uTc9sRdN8B7tgaAU5OaxhZ_0daY,902
23
- qcanvas/icons/dark/tree_items/page.svg,sha256=mLyiil83ycWaCEdQ6KaKTt4h6-HK5os_XzTsIkPlR1w,356
24
- qcanvas/icons/icons.qrc,sha256=WiUGq4xgKlQJRqSQmTCCVoAw3W8WjUY4fGk-lz0uOns,2153
25
- qcanvas/icons/light/actions/exit.svg,sha256=hTF_ke8f91D0t5SkNat5mijOiFfwZqg-t7NMIrx8k2w,228
26
- qcanvas/icons/light/actions/mark_all_read.svg,sha256=pa_VNoSnlwgzrn5UyiRYf1EH3N2Eu3Q96SoO_A59Sf4,201
27
- qcanvas/icons/light/actions/open_downloads.svg,sha256=wZTOfN7XwVPxaOZ_lTmTSuZvrlHi7L840JlduzjJ3z4,359
28
- qcanvas/icons/light/actions/quick_login.svg,sha256=0toC_4pROdJQWz6DcLM_UqnRknqckTIcS0ZaJL5o_es,982
29
- qcanvas/icons/light/actions/sync.svg,sha256=KqQi5DbT7_4OmZ1dwidkC61Tel3thcUHJ-3u1zgEvLw,413
30
- qcanvas/icons/light/branding/logo_transparent.svg,sha256=DsNOFWHGAVCZ-ue-pf1iatQ1t_IBmnyxs3FNw-UUukg,18647
31
- qcanvas/icons/light/options/auto_download.svg,sha256=93efpzvsLYYZVze2CKTDhp2x8l-4UsF75DFGMHmCD3I,307
32
- qcanvas/icons/light/options/ignore_old.svg,sha256=Zn3Dl6DD9omgoqqcM5xAbRYA8fqVGKwooTFYOQZJTVo,484
33
- qcanvas/icons/light/options/include_videos.svg,sha256=3HmJvM95JFqvE2WXEAIjTc5sPp0aLuKKu7yb0tX5sM4,349
34
- qcanvas/icons/light/options/theme.svg,sha256=9HCwt6AndJJjgjPgS9BO4mkKWtkigTpUUxct4sw6SI4,383
35
- qcanvas/icons/light/tabs/assignments.svg,sha256=ci5z-t0MAhTHYoMVXvIyHlZcd3MEYgeGMISxMSX0zes,502
36
- qcanvas/icons/light/tabs/mail.svg,sha256=l_ITAKZRkq7PbPw1-iY5fma9Zimr9w9-721rYNros6o,334
37
- qcanvas/icons/light/tabs/pages.svg,sha256=Zgcsknpd4jiWuqRNYqFQvCAxgH4ThlSUl9rS-ZcrpL4,339
38
- qcanvas/icons/light/tree_items/assignment.svg,sha256=ci5z-t0MAhTHYoMVXvIyHlZcd3MEYgeGMISxMSX0zes,502
39
- qcanvas/icons/light/tree_items/mail.svg,sha256=l_ITAKZRkq7PbPw1-iY5fma9Zimr9w9-721rYNros6o,334
40
- qcanvas/icons/light/tree_items/module.svg,sha256=P8N_7iH3tfHEyajMO2aQ-eKaB3mbNptREAzAic5P6Cg,902
41
- qcanvas/icons/light/tree_items/page.svg,sha256=ui8UX_bPrOOnb9GlHujzopLO8yRRdpzp0nwmmELb214,356
42
- qcanvas/icons/rc_icons.py,sha256=xJteGJsyG7o6XmRtFO4fItlzLy-PvQzwcn5MR-ZYLNA,72887
43
- qcanvas/icons/universal/branding/main_icon.svg,sha256=st2sfA8HIETmoacJ2Oq84iJzfnNHH-T03ijB-J419_s,16104
44
- qcanvas/icons/universal/downloads/download_failed.svg,sha256=lhDf8ul__T2ByRcd5KZicNtUVl4BdSqeZ3yOR6DvCLk,1091
45
- qcanvas/icons/universal/downloads/downloaded.svg,sha256=WM5Kpi9IzLvDASOHQGQGtFb_m4u02mGHLLZNs19-4HA,1091
46
- qcanvas/icons/universal/downloads/not_downloaded.svg,sha256=7zl_Gmx2IHZrugFYAUjBCSwmfXM0pvlshj8GhewxY5Q,1091
47
- qcanvas/icons/universal/downloads/unknown.svg,sha256=9xlN244HJX3zM_MqdMTnNbKlqLjOFgCx3ZdM4Wc4zC0,1729
48
- qcanvas/icons/universal/tabs/assignments_new_content.svg,sha256=IwnLpS31-eZS6ADEtpf1PFjr5Z6QoeGWElZEguaMmBM,502
49
- qcanvas/icons/universal/tabs/mail_new_content.svg,sha256=q43Y6Xnq2BDFXPA88kJJl4KQbJw7jsm8q8A1NnVcRJ8,334
50
- qcanvas/icons/universal/tabs/pages_new_content.svg,sha256=vUksdaa0bzEm6xvbp0sqQ_XJlqW87P-N-Btifstx7Tc,339
51
- qcanvas/icons/universal/tree_items/semester.svg,sha256=9aWy2VH-PMhkMlhlq97Yh2pvW2xyYsdRh-5knUcgzfY,4088
52
- qcanvas/run.py,sha256=tP5bplaPa_Z8DaKqP59bwYaIEccW5B18xoyXgKJsrf8,1681
53
- qcanvas/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
- qcanvas/ui/course_viewer/__init__.py,sha256=XkoFnh4ULw3_i-GDsOlueEWido0PkoDcN9_EX6-nkXY,76
55
- qcanvas/ui/course_viewer/content_tree.py,sha256=Rjq7GNf-h9tb1gyUdRebh_VNxltLafjoy7oDhafAWDU,4631
56
- qcanvas/ui/course_viewer/course_tree/__init__.py,sha256=N2XorJ4COFHzRYx53noANb4_qJYf6N8_YCjPdQuDCHs,36
57
- qcanvas/ui/course_viewer/course_tree/_course_icon_generator.py,sha256=3r0pBRbb9LsD0VAXOj4VfD8IPyGmfXu-FJPnL3aHbRI,3071
58
- qcanvas/ui/course_viewer/course_tree/course_tree.py,sha256=XR9IirTSQZsmmHeTojkZL29sSn6VBTut5e-01yLU_bo,3195
59
- qcanvas/ui/course_viewer/course_viewer.py,sha256=-TiK7Rmyw6fDRLZz2ll1mXBgDBXpyAEanQm45oxhqkc,5314
60
- qcanvas/ui/course_viewer/tabs/__init__.py,sha256=SlfWUzk6_E5uM9GIV-y9BVeKMwqn3pRx_xWhMyb1dfI,54
61
- qcanvas/ui/course_viewer/tabs/assignment_tab/__init__.py,sha256=w936dW7za10Fh6rN0zVA-7Kyiup3kd6C-mPAFHtxmy0,42
62
- qcanvas/ui/course_viewer/tabs/assignment_tab/assignment_tab.py,sha256=_de3IPBCe27Bt8MoabcX1ZchBbVb-_QHVeYMvL3wzr8,1986
63
- qcanvas/ui/course_viewer/tabs/assignment_tab/assignment_tree.py,sha256=ipscHCgvDLL0kGnDelZ3UprPRIwHS3Ju9L4qR4UyyS0,2925
64
- qcanvas/ui/course_viewer/tabs/content_tab.py,sha256=CAfzUYawDde0lhL7R7dFu07uS1XEG39VIleS2Cpu30g,3540
65
- qcanvas/ui/course_viewer/tabs/file_tab/__init__.py,sha256=mMebnrNw_V-lQ-eBXS_kFinL-ZdUAXa459NmuyuCu6s,30
66
- qcanvas/ui/course_viewer/tabs/file_tab/file_tab.py,sha256=DOpnSDg7vDRvLc4LFf94BHkx0cRy6InYLpKH7n_p4IU,1404
67
- qcanvas/ui/course_viewer/tabs/file_tab/file_tree.py,sha256=HJ7KEk5QOI2B8orvPXL-d7oMI2ZSROO8v5Ccn4xNDJ8,3360
68
- qcanvas/ui/course_viewer/tabs/file_tab/pages_file_tree.py,sha256=0XUydcBgeXmQp7cRjZ6YUS0k4HkekWRuxp8-VCRlNrc,1919
69
- qcanvas/ui/course_viewer/tabs/mail_tab/__init__.py,sha256=68iRUUWEP7mudbaxa4ZBKMra4rvs2oZKaZkBWwmUrsI,30
70
- qcanvas/ui/course_viewer/tabs/mail_tab/mail_tab.py,sha256=fw0FORJiH19rAGsjBFJHZlNrVCMbwG4n3AFV3wbhwGM,1840
71
- qcanvas/ui/course_viewer/tabs/mail_tab/mail_tree.py,sha256=Z1eQSp1D_E78khGKf4qGlmo6AF_heWuz9zmgrv_VXik,1784
72
- qcanvas/ui/course_viewer/tabs/page_tab/__init__.py,sha256=lcafxlSEVZ0wqZySxT6hTrvExX-GU2AfcZQbp6W8haU,30
73
- qcanvas/ui/course_viewer/tabs/page_tab/page_tab.py,sha256=cv-pCDri7thRJZv-gWUZrL2FUQAHe7vZthRAhejsqWY,771
74
- qcanvas/ui/course_viewer/tabs/page_tab/page_tree.py,sha256=AbN9U35PUSF0eO5SNexyzaLaCs2t_imkKOkwYsRtfyM,2179
75
- qcanvas/ui/course_viewer/tabs/resource_rich_browser.py,sha256=7suEGkjcTOMWlyf7LKoDOQREq8xCYAKI6ZMUS2AQUoE,6828
76
- qcanvas/ui/course_viewer/tabs/util.py,sha256=Cg8FmPbkiTepV9IlTZQSWtcUaovv66iAD4_BUYJjIAY,344
77
- qcanvas/ui/course_viewer/tree_widget_data_item.py,sha256=_j-j-jmi65-PucXhf3qqQp6jZ49q5PszuFwH1SndC18,566
78
- qcanvas/ui/main_ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
- qcanvas/ui/main_ui/course_viewer_container.py,sha256=814pP-HoALQdNE8L6XJ7WEmPcfmdRluz5Y-LqMJEUZQ,3447
80
- qcanvas/ui/main_ui/options/__init__.py,sha256=SlfWUzk6_E5uM9GIV-y9BVeKMwqn3pRx_xWhMyb1dfI,54
81
- qcanvas/ui/main_ui/options/auto_download_resources_option.py,sha256=n6OecWqCmyk4szHYVUkqTb9ADb4yQ0BKx50Xr7p_x4E,1361
82
- qcanvas/ui/main_ui/options/quick_sync_option.py,sha256=qEfmtLllO32ejc-bydCvFRjal5RUlk2HtC5Ld4mT7ss,753
83
- qcanvas/ui/main_ui/options/sync_on_start_option.py,sha256=zFFAAyGZEa6qBchJJIm7bJpOwxcntnto9Ee-lzCiHX4,731
84
- qcanvas/ui/main_ui/options/theme_selection_menu.py,sha256=5DCCDBUiQHD_tC8e37kN6V7DElfhVGYChl5DgJd7cp4,1331
85
- qcanvas/ui/main_ui/qcanvas_window.py,sha256=PufGSndANGsxF8b5a6DVOVbO9D8WL4wHhnJJ5y0VvYY,9068
86
- qcanvas/ui/main_ui/status_bar_progress_display.py,sha256=vbuZwMR4It1qH8EY4ZiBz7akSDfaYZ_V18eS-pBgYq4,5047
87
- qcanvas/ui/memory_tree/__init__.py,sha256=-XLitM6teC0zmwPrGf-Q-A53-zgmIPASExdOtaLIvPU,107
88
- qcanvas/ui/memory_tree/_tree_memory.py,sha256=6d_-CpUC8u3s_LO100Gb-3DhoxwUDckgB56suOCyTZg,1893
89
- qcanvas/ui/memory_tree/memory_tree_widget.py,sha256=Mq-zBNEwU-Npch-I5mhl_0tYAN7NvMN9GStajus3YWg,4408
90
- qcanvas/ui/memory_tree/memory_tree_widget_item.py,sha256=JXk07AzrKsBnYAqhayIFYAwMfF_D_EfkfJY4Qyez47U,425
91
- qcanvas/ui/setup/__init__.py,sha256=QWt2lEyLqWG5QC-BmCBlYyi0LZsBfsQYbP0XkvqA2f8,77
92
- qcanvas/ui/setup/setup_checker.py,sha256=pRLZJR6ySa09DhMEt8F0VQ2D_r7IzrDJAULIatuokJw,449
93
- qcanvas/ui/setup/setup_dialog.py,sha256=AbKtzHzdQkCHLksYedMWbAN2-r6jWm2R-1Vez0BGkKU,10281
94
- qcanvas/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
95
- qcanvas/util/auto_downloader.py,sha256=WGawgc849qpPf7ufe_yxRYhwVf2Aj15wTAAQvToxmHg,1842
96
- qcanvas/util/basic_fonts.py,sha256=1NK5_kejgH45mENwiTWvE5oOuAvGqWMX3hg9tTUCBi4,243
97
- qcanvas/util/file_icons.py,sha256=mJySt-RnlCYSn8pKdJtenB_oqRPJRbSOdvwC2u70LqI,1738
98
- qcanvas/util/html_cleaner.py,sha256=U-UbZVX9x85gatOvxLsQXe2hL6x4I86eUKwkm0p159E,710
99
- qcanvas/util/layouts.py,sha256=FN1DxKuAmI4P_RRO4Qo1-J1Y61hT7859OAkO-EpgrFU,1457
100
- qcanvas/util/logs.py,sha256=VZKFITiW2WR2POEFVv5GRpEXic23Pzjehry-vH3g3Gk,138
101
- qcanvas/util/paths.py,sha256=TzG5iy7A6ndzUdeV00lJKXq_gmbtooahueBjgvN02s8,989
102
- qcanvas/util/qurl_util.py,sha256=NkskYvrMQJuYWMNF4DFQ4J5-YM5CGl5gHQKxJaAhHBE,197
103
- qcanvas/util/runtime.py,sha256=EO1HFCN7dZbQtKHQOILuvjZFXGT7SzhlmPvU8ma95Z8,617
104
- qcanvas/util/settings/__init__.py,sha256=ivc8bczhQdEJsWse6fc81Xyz0i2YX57pL4UubM3NJfw,228
105
- qcanvas/util/settings/_client_settings.py,sha256=HyUpXoc7TinOviEd-eCo8g8Fbw8TqGAH2KfCkgPr9N0,1413
106
- qcanvas/util/settings/_mapped_setting.py,sha256=Lb9mut_l5AM6a6jwfO9aZq1KEYZKa0qgOdAWwAJzX6Q,1973
107
- qcanvas/util/settings/_ui_settings.py,sha256=80YFCLhgpHvQmdh8_vmpS6ihXTuA_GTWOrE1ZyaKg2c,799
108
- qcanvas/util/themes/__init__.py,sha256=Ng-Rii7cFKrhSoE03J5tSYeaMY4UebFubKCBsWxouYM,134
109
- qcanvas/util/themes/_colour_scheme_helper.py,sha256=QTrQ5c9AduBJMUuXp8sG-WPmYU82cF1tXjGDKhpI10w,1063
110
- qcanvas/util/themes/_selected_theme.py,sha256=w1CXvMuLM8wKDgANOhcvNnlEXDyjdgnWO0TtA3vGomY,150
111
- qcanvas/util/themes/_theme_changed_event.py,sha256=dIu1857h2ytSqmcRb2CABro3Gc0s9bm5DHdT23jyuk8,317
112
- qcanvas/util/themes/_theme_changer.py,sha256=RA0b5Fur0LTlO-s1ZE4j2SedtbnWajEMw7m2HBdaDv0,2272
113
- qcanvas/util/ui_tools.py,sha256=ogIHWutN7Yw_AgR5BEXDVXoo_ylN91SCXBdKUyWv-r8,1027
114
- qcanvas/util/url_checker.py,sha256=gaV_KZZsG5bfJaGBv9jbHJjq0rVxIH55HRtucT6Qkx8,144
115
- qcanvas-1.2.2.dist-info/METADATA,sha256=sm-UEfbRAHdfK1fZ99lW-qU_RHnixpDICRP6QHp-WkU,2071
116
- qcanvas-1.2.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
117
- qcanvas-1.2.2.dist-info/entry_points.txt,sha256=46VbnhQ9w2CYdfhYcPfWgjXYHjsKshu0asQ1B_sAMac,44
118
- qcanvas-1.2.2.dist-info/RECORD,,
@@ -1,3 +0,0 @@
1
- [console_scripts]
2
- qcanvas=qcanvas.run:main
3
-