qcanvas 2.0.5__tar.gz → 2.0.6__tar.gz

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 (91) hide show
  1. {qcanvas-2.0.5 → qcanvas-2.0.6}/PKG-INFO +24 -1
  2. {qcanvas-2.0.5 → qcanvas-2.0.6}/pyproject.toml +27 -1
  3. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/app.py +2 -0
  4. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/assignment_tab/assignment_tab.py +1 -1
  5. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/setup/setup_dialog.py +2 -5
  6. {qcanvas-2.0.5 → qcanvas-2.0.6}/README.md +0 -0
  7. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/__init__.py +0 -0
  8. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/backend_connectors/__init__.py +0 -0
  9. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/backend_connectors/frontend_resource_manager.py +0 -0
  10. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/backend_connectors/qcanvas_task_master.py +0 -0
  11. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/icons/__init__.py +0 -0
  12. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/icons/_icon_type.py +0 -0
  13. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/icons/icons.qrc +0 -0
  14. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/icons/rc_icons.py +0 -0
  15. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/settings/__init__.py +0 -0
  16. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/settings/_client_settings.py +0 -0
  17. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/settings/_course_settings.py +0 -0
  18. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/settings/_mapped_setting.py +0 -0
  19. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/settings/_ui_settings.py +0 -0
  20. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/theme.py +0 -0
  21. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/__init__.py +0 -0
  22. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/__init__.py +0 -0
  23. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/content_tree.py +0 -0
  24. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/course_tree/__init__.py +0 -0
  25. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/course_tree/_course_icon_generator.py +0 -0
  26. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/course_tree/course_tree.py +0 -0
  27. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/course_viewer.py +0 -0
  28. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/__init__.py +0 -0
  29. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/assignment_tab/__init__.py +0 -0
  30. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/assignment_tab/assignment_tree.py +0 -0
  31. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/constants.py +0 -0
  32. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/content_tab.py +0 -0
  33. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/file_tab/__init__.py +0 -0
  34. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/file_tab/file_tab.py +0 -0
  35. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/file_tab/file_tree.py +0 -0
  36. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/file_tab/pages_file_tree.py +0 -0
  37. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/mail_tab/__init__.py +0 -0
  38. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/mail_tab/mail_tab.py +0 -0
  39. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/mail_tab/mail_tree.py +0 -0
  40. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/page_tab/__init__.py +0 -0
  41. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/page_tab/page_tab.py +0 -0
  42. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/page_tab/page_tree.py +0 -0
  43. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/resource_rich_browser.py +0 -0
  44. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tree_widget_data_item.py +0 -0
  45. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/memory_tree/__init__.py +0 -0
  46. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/memory_tree/_tree_memory.py +0 -0
  47. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/memory_tree/memory_tree_widget.py +0 -0
  48. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/memory_tree/memory_tree_widget_item.py +0 -0
  49. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qcanvas_window/__init__.py +0 -0
  50. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qcanvas_window/course_viewer_container.py +0 -0
  51. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qcanvas_window/options/__init__.py +0 -0
  52. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qcanvas_window/options/auto_download_resources_option.py +0 -0
  53. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qcanvas_window/options/quick_sync_option.py +0 -0
  54. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qcanvas_window/options/sync_on_start_option.py +0 -0
  55. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qcanvas_window/options/theme_selection_menu.py +0 -0
  56. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qcanvas_window/qcanvas_window.py +0 -0
  57. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qcanvas_window/status_bar_progress_display.py +0 -0
  58. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/__init__.py +0 -0
  59. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/attachments_pane.py +0 -0
  60. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/comments_pane.py +0 -0
  61. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/AttachmentsList.ui.qml +0 -0
  62. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/AttachmentsListDelegate.qml +0 -0
  63. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/AttachmentsListModel.qml +0 -0
  64. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/AttachmentsPane.qml +0 -0
  65. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/CommentsList.ui.qml +0 -0
  66. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/CommentsListDelegate.ui.qml +0 -0
  67. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/CommentsListModel.qml +0 -0
  68. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/CommentsPane.qml +0 -0
  69. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/DecoratedText.ui.qml +0 -0
  70. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/Spacer.ui.qml +0 -0
  71. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/ThemedRectangle.qml +0 -0
  72. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/__init__.py +0 -0
  73. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/rc_qml.py +0 -0
  74. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/rc_qml.qrc +0 -0
  75. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml_bridge_types.py +0 -0
  76. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml_pane.py +0 -0
  77. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/setup/__init__.py +0 -0
  78. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/setup/setup_checker.py +0 -0
  79. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/__init__.py +0 -0
  80. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/auto_downloader.py +0 -0
  81. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/basic_fonts.py +0 -0
  82. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/context_dict.py +0 -0
  83. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/file_icons.py +0 -0
  84. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/html_cleaner.py +0 -0
  85. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/layouts.py +0 -0
  86. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/logs.py +0 -0
  87. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/paths.py +0 -0
  88. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/qurl_util.py +0 -0
  89. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/runtime.py +0 -0
  90. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/ui_tools.py +0 -0
  91. {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/url_checker.py +0 -0
@@ -1,12 +1,35 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: qcanvas
3
- Version: 2.0.5
3
+ Version: 2.0.6
4
4
  Summary: View courses from Canvas LMS
5
5
  Author: QCanvas
6
6
  Author-email: QCanvas@noreply.codeberg.org
7
7
  Requires-Python: >=3.12,<3.13
8
+ Classifier: Development Status :: 5 - Production/Stable
9
+ Classifier: Environment :: X11 Applications
10
+ Classifier: Environment :: X11 Applications :: Qt
11
+ Classifier: Framework :: Pydantic
12
+ Classifier: Framework :: Pydantic :: 2
13
+ Classifier: Intended Audience :: Education
14
+ Classifier: Intended Audience :: End Users/Desktop
15
+ Classifier: License :: OSI Approved :: GNU Affero General Public License v3
16
+ Classifier: Natural Language :: English
17
+ Classifier: Operating System :: Microsoft :: Windows
18
+ Classifier: Operating System :: Microsoft :: Windows :: Windows 10
19
+ Classifier: Operating System :: Microsoft :: Windows :: Windows 11
20
+ Classifier: Operating System :: OS Independent
21
+ Classifier: Operating System :: POSIX :: Linux
22
+ Classifier: Programming Language :: Python
8
23
  Classifier: Programming Language :: Python :: 3
9
24
  Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Programming Language :: Python :: 3 :: Only
26
+ Classifier: Programming Language :: Python :: Implementation :: CPython
27
+ Classifier: Topic :: Database
28
+ Classifier: Topic :: Internet
29
+ Classifier: Topic :: Internet :: WWW/HTTP
30
+ Classifier: Topic :: Text Editors :: Text Processing
31
+ Classifier: Topic :: Text Processing :: Markup :: HTML
32
+ Classifier: Typing :: Typed
10
33
  Requires-Dist: aiofile (>=3.9.0,<4.0.0)
11
34
  Requires-Dist: aiosqlite (>=0.21.0,<0.22.0)
12
35
  Requires-Dist: asynctaskpool (>=0.2.1,<0.3.0)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "qcanvas"
3
- version = "2.0.5"
3
+ version = "2.0.6"
4
4
  description = "View courses from Canvas LMS"
5
5
  authors = ["QCanvas <QCanvas@noreply.codeberg.org>"]
6
6
  readme = "README.md"
@@ -10,6 +10,32 @@ exclude = [
10
10
  "qcanvas/icons/*/*/*.svg",
11
11
  "qcanvas/icons/_update_icons.py",
12
12
  ]
13
+ classifiers = [
14
+ "Development Status :: 5 - Production/Stable",
15
+ "Environment :: X11 Applications",
16
+ "Environment :: X11 Applications :: Qt",
17
+ "Framework :: Pydantic",
18
+ "Framework :: Pydantic :: 2",
19
+ "Intended Audience :: Education",
20
+ "Intended Audience :: End Users/Desktop",
21
+ "License :: OSI Approved :: GNU Affero General Public License v3",
22
+ "Natural Language :: English",
23
+ "Operating System :: Microsoft :: Windows",
24
+ "Operating System :: Microsoft :: Windows :: Windows 10",
25
+ "Operating System :: Microsoft :: Windows :: Windows 11",
26
+ "Operating System :: OS Independent",
27
+ "Operating System :: POSIX :: Linux",
28
+ "Programming Language :: Python",
29
+ "Programming Language :: Python :: 3",
30
+ "Programming Language :: Python :: 3 :: Only",
31
+ "Programming Language :: Python :: Implementation :: CPython",
32
+ "Topic :: Database",
33
+ "Topic :: Internet",
34
+ "Topic :: Internet :: WWW/HTTP",
35
+ "Topic :: Text Editors :: Text Processing",
36
+ "Topic :: Text Processing :: Markup :: HTML",
37
+ "Typing :: Typed",
38
+ ]
13
39
 
14
40
  [tool.poetry.scripts]
15
41
  qcanvas = "qcanvas:main"
@@ -36,6 +36,7 @@ class _MainStarter(QObject):
36
36
  async def _start(self):
37
37
  _qcanvas = await self._setup_database()
38
38
 
39
+ # TODO it might be more reliable to use self here!
39
40
  _main_window = QCanvasWindow(_qcanvas)
40
41
  _main_window.show()
41
42
  self.setParent(_main_window)
@@ -62,6 +63,7 @@ def run_setup():
62
63
  app.aboutToQuit.connect(app_close_event.set, Qt.ConnectionType.SingleShotConnection)
63
64
 
64
65
  setup_window = SetupDialog()
66
+ setup_window.rejected.connect(lambda: exit())
65
67
  setup_window.show()
66
68
 
67
69
  with event_loop:
@@ -56,7 +56,7 @@ class AssignmentTab(ContentTab):
56
56
 
57
57
  self._submission_files_pane = AttachmentsPane(downloader)
58
58
  self._submission_files_dock = ui.dock_widget(
59
- title="Submission Files",
59
+ title="Submitted Files",
60
60
  name="sub_files_dock",
61
61
  widget=self._submission_files_pane,
62
62
  min_size=ui.size(150, 150),
@@ -5,7 +5,7 @@ from typing import Optional
5
5
  from libqcanvas_clients.canvas import CanvasClient, CanvasClientConfig
6
6
  from libqcanvas_clients.panopto import PanoptoClient, PanoptoClientConfig
7
7
  from libqcanvas_clients.util.request_exceptions import ConfigInvalidError
8
- from PySide6.QtCore import Qt, QUrl, Signal, Slot
8
+ from PySide6.QtCore import Qt, QUrl, Slot
9
9
  from PySide6.QtGui import QDesktopServices, QIcon
10
10
  from PySide6.QtWidgets import (
11
11
  QCheckBox,
@@ -96,8 +96,6 @@ class _InputRow:
96
96
 
97
97
 
98
98
  class SetupDialog(QDialog):
99
- closed = Signal()
100
-
101
99
  def __init__(self):
102
100
  super().__init__()
103
101
 
@@ -289,8 +287,7 @@ class SetupDialog(QDialog):
289
287
 
290
288
  settings.client.canvas_api_key = self._canvas_api_key_box.text
291
289
 
292
- self.closed.emit()
293
- self.close()
290
+ self.accept()
294
291
 
295
292
  @Slot()
296
293
  def _help_requested(self) -> None:
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes