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.
- {qcanvas-2.0.5 → qcanvas-2.0.6}/PKG-INFO +24 -1
- {qcanvas-2.0.5 → qcanvas-2.0.6}/pyproject.toml +27 -1
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/app.py +2 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/assignment_tab/assignment_tab.py +1 -1
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/setup/setup_dialog.py +2 -5
- {qcanvas-2.0.5 → qcanvas-2.0.6}/README.md +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/__init__.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/backend_connectors/__init__.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/backend_connectors/frontend_resource_manager.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/backend_connectors/qcanvas_task_master.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/icons/__init__.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/icons/_icon_type.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/icons/icons.qrc +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/icons/rc_icons.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/settings/__init__.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/settings/_client_settings.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/settings/_course_settings.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/settings/_mapped_setting.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/settings/_ui_settings.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/theme.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/__init__.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/__init__.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/content_tree.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/course_tree/__init__.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/course_tree/_course_icon_generator.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/course_tree/course_tree.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/course_viewer.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/__init__.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/assignment_tab/__init__.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/assignment_tab/assignment_tree.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/constants.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/content_tab.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/file_tab/__init__.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/file_tab/file_tab.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/file_tab/file_tree.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/file_tab/pages_file_tree.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/mail_tab/__init__.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/mail_tab/mail_tab.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/mail_tab/mail_tree.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/page_tab/__init__.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/page_tab/page_tab.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/page_tab/page_tree.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/resource_rich_browser.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tree_widget_data_item.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/memory_tree/__init__.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/memory_tree/_tree_memory.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/memory_tree/memory_tree_widget.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/memory_tree/memory_tree_widget_item.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qcanvas_window/__init__.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qcanvas_window/course_viewer_container.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qcanvas_window/options/__init__.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qcanvas_window/options/auto_download_resources_option.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qcanvas_window/options/quick_sync_option.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qcanvas_window/options/sync_on_start_option.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qcanvas_window/options/theme_selection_menu.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qcanvas_window/qcanvas_window.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qcanvas_window/status_bar_progress_display.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/__init__.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/attachments_pane.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/comments_pane.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/AttachmentsList.ui.qml +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/AttachmentsListDelegate.qml +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/AttachmentsListModel.qml +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/AttachmentsPane.qml +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/CommentsList.ui.qml +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/CommentsListDelegate.ui.qml +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/CommentsListModel.qml +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/CommentsPane.qml +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/DecoratedText.ui.qml +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/Spacer.ui.qml +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/ThemedRectangle.qml +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/__init__.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/rc_qml.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml/rc_qml.qrc +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml_bridge_types.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qml_components/qml_pane.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/setup/__init__.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/setup/setup_checker.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/__init__.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/auto_downloader.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/basic_fonts.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/context_dict.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/file_icons.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/html_cleaner.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/layouts.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/logs.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/paths.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/qurl_util.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/runtime.py +0 -0
- {qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/util/ui_tools.py +0 -0
- {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.
|
|
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.
|
|
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:
|
{qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/assignment_tab/assignment_tab.py
RENAMED
|
@@ -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="
|
|
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,
|
|
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.
|
|
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
|
|
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
|
|
File without changes
|
{qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/course_tree/_course_icon_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/course_viewer/tabs/assignment_tab/assignment_tree.py
RENAMED
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qcanvas-2.0.5 → qcanvas-2.0.6}/qcanvas/ui/qcanvas_window/options/auto_download_resources_option.py
RENAMED
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|