├── .coveragerc
├── .gitignore
├── .pre-commit-config.yaml
├── LICENSE
├── README.md
├── SECURITY.md
├── azure-pipelines.yml
├── build_resources.yml
├── docs
├── activity_stream.rst
├── context_widget.rst
├── delegates.rst
├── elided_label.rst
├── filtering.rst
├── help_screen.rst
├── images
│ ├── activity_stream.png
│ ├── activity_stream_1.png
│ ├── activity_stream_2.png
│ ├── context_widget.png
│ ├── field_checkbox.png
│ ├── field_currency.png
│ ├── field_date.png
│ ├── field_datetime.png
│ ├── field_datetime_display.png
│ ├── field_datetime_editable.png
│ ├── field_datetime_editor.png
│ ├── field_entity.png
│ ├── field_file_link.png
│ ├── field_float.png
│ ├── field_footage.png
│ ├── field_image.png
│ ├── field_list.png
│ ├── field_multi_entity.png
│ ├── field_number.png
│ ├── field_percent.png
│ ├── field_status_list.png
│ ├── field_tags.png
│ ├── field_text.png
│ ├── field_url_template.png
│ ├── global_search.png
│ ├── grouped_list_view.png
│ ├── help_aspects.png
│ ├── help_overview.png
│ ├── navigation.png
│ ├── note_reply.png
│ ├── overlay_overview.png
│ ├── playback_label.png
│ ├── shotgun_fields.png
│ ├── shotgun_menus.png
│ ├── shotgun_menus_example.png
│ ├── source.graffle
│ ├── version_details_notes.png
│ ├── version_details_versions.png
│ ├── widget_classes.png
│ └── widget_overview.png
├── index.rst
├── models.rst
├── navigation.rst
├── note_input_widget.rst
├── overlay_widget.rst
├── playback_label.rst
├── screen_grab.rst
├── search_completer.rst
├── shotgun_fields.rst
├── shotgun_menus.rst
├── shotgun_search_widget.rst
├── shotgun_widget.rst
├── spinner_widget.rst
├── version_details.rst
└── views.rst
├── framework.py
├── icon_256.png
├── info.yml
├── python
├── __init__.py
├── activity_stream
│ ├── __init__.py
│ ├── activity_stream.py
│ ├── data_manager.py
│ ├── dialog_reply.py
│ ├── label_widgets.py
│ ├── overlaywidget.py
│ ├── qtwidgets.py
│ ├── reply_list.py
│ ├── resources
│ │ ├── activity_stream_widget.ui
│ │ ├── attachment_group_widget.ui
│ │ ├── attachment_icon_192px.png
│ │ ├── attachments.png
│ │ ├── client_note_indicator.png
│ │ ├── collapse_widget.ui
│ │ ├── default_user.png
│ │ ├── new_item_widget.ui
│ │ ├── note_widget.ui
│ │ ├── rect_256x144.png
│ │ ├── reply_dialog.ui
│ │ ├── reply_list_widget.ui
│ │ ├── reply_widget.ui
│ │ ├── resources.graffle
│ │ ├── resources.qrc
│ │ ├── simple_new_item_widget.ui
│ │ └── value_update_widget.ui
│ ├── style.qss
│ ├── ui
│ │ ├── __init__.py
│ │ ├── activity_stream_widget.py
│ │ ├── attachment_group_widget.py
│ │ ├── collapse_widget.py
│ │ ├── new_item_widget.py
│ │ ├── note_widget.py
│ │ ├── reply_dialog.py
│ │ ├── reply_list_widget.py
│ │ ├── reply_widget.py
│ │ ├── resources_rc.py
│ │ ├── simple_new_item_widget.py
│ │ └── value_update_widget.py
│ ├── utils.py
│ ├── widget_activity_stream_base.py
│ ├── widget_attachment_group.py
│ ├── widget_loading.py
│ ├── widget_new_item.py
│ ├── widget_note.py
│ ├── widget_reply.py
│ └── widget_value_update.py
├── context_selector
│ ├── __init__.py
│ ├── context_widget.py
│ ├── qtwidgets.py
│ ├── resources
│ │ ├── context_editor_widget.ui
│ │ ├── down_arrow.png
│ │ ├── resources.qrc
│ │ └── search.png
│ ├── style.qss
│ └── ui
│ │ ├── __init__.py
│ │ ├── context_editor_widget.py
│ │ └── resources_rc.py
├── decorators
│ ├── __init__.py
│ └── decorators.py
├── delegates
│ ├── __init__.py
│ ├── thumbnail_view_item_delegate.py
│ ├── view_item_delegate.py
│ └── view_item_roles_mixin.py
├── elided_label
│ ├── __init__.py
│ └── elided_label.py
├── filtering
│ ├── __init__.py
│ ├── filter_definition.py
│ ├── filter_item.py
│ ├── filter_item_proxy_model.py
│ ├── filter_item_tree_proxy_model.py
│ ├── filter_item_widget.py
│ ├── filter_menu.py
│ ├── filter_menu_button.py
│ └── filter_menu_group.py
├── global_search_completer
│ └── __init__.py
├── global_search_widget
│ └── __init__.py
├── help_screen
│ ├── __init__.py
│ ├── dialog.py
│ ├── resources
│ │ ├── bg.png
│ │ ├── dialog.ui
│ │ ├── left_arrow.png
│ │ ├── left_arrow_hover.png
│ │ ├── left_arrow_pressed.png
│ │ ├── resources.qrc
│ │ ├── right_arrow.png
│ │ ├── right_arrow_hover.png
│ │ └── right_arrow_pressed.png
│ └── ui
│ │ ├── __init__.py
│ │ ├── dialog.py
│ │ └── resources_rc.py
├── message_box
│ ├── __init__.py
│ └── message_box.py
├── models
│ ├── __init__.py
│ ├── hierarchical_filtering_proxy_model.py
│ └── shotgun_sort_filter_proxy_model.py
├── navigation
│ ├── __init__.py
│ ├── breadcrumb_widget.py
│ ├── navigation_widget.py
│ ├── qtwidgets.py
│ ├── resources
│ │ ├── breadcrumb_widget.ui
│ │ ├── home.png
│ │ ├── home_disabled.png
│ │ ├── home_hover.png
│ │ ├── home_pressed.png
│ │ ├── left_arrow.png
│ │ ├── left_arrow_disabled.png
│ │ ├── left_arrow_hover.png
│ │ ├── left_arrow_pressed.png
│ │ ├── navigation_widget.ui
│ │ ├── resources.qrc
│ │ ├── right_arrow.png
│ │ ├── right_arrow_disabled.png
│ │ ├── right_arrow_hover.png
│ │ └── right_arrow_pressed.png
│ └── ui
│ │ ├── __init__.py
│ │ ├── breadcrumb_widget.py
│ │ ├── navigation_widget.py
│ │ └── resources_rc.py
├── note_input_widget
│ ├── __init__.py
│ ├── dialog.py
│ ├── note_editor.py
│ ├── overlaywidget.py
│ ├── resources
│ │ ├── camera_hl.png
│ │ ├── minus.png
│ │ ├── note_input_widget.ui
│ │ ├── paper_clip.png
│ │ ├── plus.png
│ │ ├── resources.qrc
│ │ └── trash.png
│ ├── sg_qwidgets.py
│ ├── style.qss
│ ├── ui
│ │ ├── __init__.py
│ │ ├── note_input_widget.py
│ │ └── resources_rc.py
│ └── widget.py
├── overlay_widget
│ ├── __init__.py
│ ├── resources
│ │ ├── resources.qrc
│ │ └── sg_logo.png
│ ├── shotgun_model_overlay_widget.py
│ ├── shotgun_overlay_widget.py
│ ├── shotgun_spinning_widget.py
│ ├── style.qss
│ └── ui
│ │ ├── __init__.py
│ │ └── resources_rc.py
├── playback_label
│ ├── __init__.py
│ ├── playback_label.py
│ ├── resources
│ │ ├── play_icon.png
│ │ ├── play_icon_inactive.png
│ │ ├── resources.graffle
│ │ └── resources.qrc
│ └── ui
│ │ ├── __init__.py
│ │ └── resources_rc.py
├── screen_grab
│ ├── __init__.py
│ └── screen_grab.py
├── search_completer
│ ├── __init__.py
│ ├── global_search_completer.py
│ ├── global_search_result_delegate.py
│ ├── hierarchical_search_completer.py
│ ├── hierarchical_search_result_delegate.py
│ ├── resources
│ │ ├── keyboard.png
│ │ ├── loading.png
│ │ ├── modes.graffle
│ │ ├── no_match.png
│ │ ├── no_thumbnail.png
│ │ ├── rect_512x400.png
│ │ ├── resources.qrc
│ │ └── search_result_widget.ui
│ ├── search_completer.py
│ ├── search_result_delegate.py
│ ├── search_result_widget.py
│ ├── ui
│ │ ├── __init__.py
│ │ ├── resources_rc.py
│ │ └── search_result_widget.py
│ └── utils.py
├── search_widget
│ ├── __init__.py
│ ├── resources
│ │ ├── clear_search.png
│ │ ├── clear_search_hover.png
│ │ ├── resources.qrc
│ │ ├── search.png
│ │ └── search_widget.ui
│ ├── search_widget.py
│ └── ui
│ │ ├── __init__.py
│ │ ├── resources_rc.py
│ │ └── search_widget.py
├── sg_qicons
│ ├── __init__.py
│ ├── resources
│ │ ├── icons
│ │ │ ├── bullet_active_20x20.png
│ │ │ ├── bullet_inactive_20x20.png
│ │ │ ├── check_mark_green_16x16.png
│ │ │ ├── check_mark_green_20x20.png
│ │ │ ├── check_mark_green_32x32.png
│ │ │ ├── check_mark_green_40x40.png
│ │ │ ├── check_mark_red_16x16.png
│ │ │ ├── check_mark_red_20x20.png
│ │ │ ├── check_mark_red_32x32.png
│ │ │ ├── filter-active-disabled_16x16.png
│ │ │ ├── filter-active-disabled_20x20.png
│ │ │ ├── filter-active-disabled_32x32.png
│ │ │ ├── filter-active-disabled_40x40.png
│ │ │ ├── filter-active_16x16.png
│ │ │ ├── filter-active_20x20.png
│ │ │ ├── filter-active_32x32.png
│ │ │ ├── filter-active_40x40.png
│ │ │ ├── filter-inactive-disabled_16x16.png
│ │ │ ├── filter-inactive-disabled_20x20.png
│ │ │ ├── filter-inactive-disabled_32x32.png
│ │ │ ├── filter-inactive-disabled_40x40.png
│ │ │ ├── filter-inactive_16x16.png
│ │ │ ├── filter-inactive_20x20.png
│ │ │ ├── filter-inactive_32x32.png
│ │ │ ├── filter-inactive_40x40.png
│ │ │ ├── gear_16x16.png
│ │ │ ├── gear_20x20.png
│ │ │ ├── gear_32x32.png
│ │ │ ├── gear_40x40.png
│ │ │ ├── info_active_20x20.png
│ │ │ ├── info_active_40x40.png
│ │ │ ├── info_inactive_20x20.png
│ │ │ ├── info_inactive_40x40.png
│ │ │ ├── lock_16x16.png
│ │ │ ├── lock_20x20.png
│ │ │ ├── lock_32x32.png
│ │ │ ├── lock_40x40.png
│ │ │ ├── refresh-active-disabled_16x16.png
│ │ │ ├── refresh-active-disabled_20x20.png
│ │ │ ├── refresh-active-disabled_32x32.png
│ │ │ ├── refresh-active-disabled_40x40.png
│ │ │ ├── refresh-active_16x16.png
│ │ │ ├── refresh-active_20x20.png
│ │ │ ├── refresh-active_32x32.png
│ │ │ ├── refresh-active_40x40.png
│ │ │ ├── refresh-inactive-disabled_16x16.png
│ │ │ ├── refresh-inactive-disabled_20x20.png
│ │ │ ├── refresh-inactive-disabled_32x32.png
│ │ │ ├── refresh-inactive-disabled_40x40.png
│ │ │ ├── refresh-inactive_16x16.png
│ │ │ ├── refresh-inactive_20x20.png
│ │ │ ├── refresh-inactive_32x32.png
│ │ │ ├── refresh-inactive_40x40.png
│ │ │ ├── refresh_16x16.png
│ │ │ ├── refresh_20x20.png
│ │ │ ├── refresh_32x32.png
│ │ │ ├── refresh_40x40.png
│ │ │ ├── refresh_grey_16x16.png
│ │ │ ├── refresh_grey_20x20.png
│ │ │ ├── refresh_grey_32x32.png
│ │ │ ├── refresh_grey_40x40.png
│ │ │ ├── refresh_red_20x20.png
│ │ │ ├── refresh_red_40x40.png
│ │ │ ├── spinning-wheel_16x16.gif
│ │ │ ├── spinning-wheel_20x20.gif
│ │ │ ├── spinning-wheel_32x32.gif
│ │ │ ├── spinning-wheel_40x40.gif
│ │ │ ├── toggle_active_20x20.png
│ │ │ ├── toggle_active_32x32.png
│ │ │ ├── toggle_inactive_20x20.png
│ │ │ ├── toggle_inactive_32x32.png
│ │ │ ├── tree_arrow_collapsed_20x20.png
│ │ │ ├── tree_arrow_expanded_20x20.png
│ │ │ ├── validation_error_16x16.png
│ │ │ ├── validation_error_20x20.png
│ │ │ ├── validation_error_32x32.png
│ │ │ ├── validation_ok_16x16.png
│ │ │ ├── validation_ok_20x20.png
│ │ │ ├── validation_ok_32x32.png
│ │ │ ├── validation_ok_40x40.png
│ │ │ ├── validation_warning_16x16.png
│ │ │ ├── validation_warning_20x20.png
│ │ │ ├── validation_warning_32x32.png
│ │ │ ├── view_grid_active_20x20.png
│ │ │ ├── view_grid_active_40x40.png
│ │ │ ├── view_grid_inactive_20x20.png
│ │ │ ├── view_grid_inactive_40x40.png
│ │ │ ├── view_list_active_20x20.png
│ │ │ ├── view_list_inactive_20x20.png
│ │ │ ├── view_thumbnail_active_20x20.png
│ │ │ └── view_thumbnail_inactive_20x20.png
│ │ └── resources.qrc
│ ├── sg_qicon.py
│ └── ui
│ │ ├── __init__.py
│ │ └── resources_rc.py
├── sg_qwidgets
│ ├── __init__.py
│ └── sg_qwidgets.py
├── shotgun_fields
│ ├── __init__.py
│ ├── bubble_widget.py
│ ├── checkbox_widget.py
│ ├── currency_widget.py
│ ├── date_and_time_widget.py
│ ├── date_widget.py
│ ├── duration_widget.py
│ ├── entity_widget.py
│ ├── file_link_widget.py
│ ├── float_widget.py
│ ├── footage_widget.py
│ ├── image_widget.py
│ ├── label_base_widget.py
│ ├── list_widget.py
│ ├── multi_entity_widget.py
│ ├── number_widget.py
│ ├── percent_widget.py
│ ├── resources
│ │ ├── apply_value.png
│ │ ├── edit_close.png
│ │ ├── edit_field.png
│ │ ├── image_menu.png
│ │ ├── link_local.png
│ │ ├── link_menu.png
│ │ ├── link_upload.png
│ │ ├── link_web.png
│ │ ├── no_thumbnail.png
│ │ ├── not_editable.png
│ │ ├── resources.qrc
│ │ └── tag.png
│ ├── shotgun_field_delegate.py
│ ├── shotgun_field_editable.py
│ ├── shotgun_field_manager.py
│ ├── shotgun_field_meta.py
│ ├── status_list_widget.py
│ ├── tags_widget.py
│ ├── text_widget.py
│ ├── timecode_widget.py
│ ├── ui
│ │ ├── __init__.py
│ │ └── resources_rc.py
│ ├── url_template_widget.py
│ ├── util.py
│ └── widget_metaclass.py
├── shotgun_menus
│ ├── __init__.py
│ ├── entity_field_menu.py
│ ├── resources
│ │ ├── check.png
│ │ └── resources.qrc
│ ├── shotgun_menu.py
│ └── ui
│ │ ├── __init__.py
│ │ └── resources_rc.py
├── shotgun_search_widget
│ ├── __init__.py
│ ├── global_search_widget.py
│ ├── hierarchical_search_widget.py
│ ├── search_style.qss
│ └── shotgun_search_widget.py
├── shotgun_widget
│ ├── __init__.py
│ ├── resources
│ │ ├── rect_512x400.png
│ │ ├── resources.qrc
│ │ ├── shotgun_folder_widget.ui
│ │ └── shotgun_list_widget.ui
│ ├── shotgun_folder_widget.py
│ ├── shotgun_list_widget.py
│ ├── shotgun_widget.py
│ └── ui
│ │ ├── __init__.py
│ │ ├── resources_rc.py
│ │ ├── shotgun_folder_widget.py
│ │ └── shotgun_list_widget.py
├── spinner_widget
│ ├── __init__.py
│ └── spinner_widget.py
├── utils.py
├── version_details
│ ├── __init__.py
│ ├── qtwidgets.py
│ ├── resources
│ │ ├── arrow.png
│ │ ├── blank.png
│ │ ├── close.png
│ │ ├── close_hover.png
│ │ ├── dock.png
│ │ ├── dock_hover.png
│ │ ├── icon_player_cut_action_small_active.png
│ │ ├── icon_player_cut_action_small_dark.png
│ │ ├── navigate_out.png
│ │ ├── navigate_out_hover.png
│ │ ├── panel_empty_background.png
│ │ ├── resources.qrc
│ │ ├── right_arrow.png
│ │ ├── right_arrow_large.png
│ │ ├── right_arrow_white.png
│ │ ├── sort_down.png
│ │ ├── sort_down_on.png
│ │ ├── sort_up.png
│ │ ├── sort_up_on.png
│ │ ├── tack_hover.png
│ │ ├── tack_up.png
│ │ ├── undock.png
│ │ ├── undock_hover.png
│ │ └── version_details_widget.ui
│ ├── selection_context_menu.py
│ ├── shotgun_entities
│ │ ├── __init__.py
│ │ ├── card_delegate.py
│ │ ├── card_widget.py
│ │ ├── resources
│ │ │ └── card_widget.ui
│ │ └── ui
│ │ │ ├── __init__.py
│ │ │ └── card_widget.py
│ ├── simple_tooltip_model.py
│ ├── style.qss
│ ├── ui
│ │ ├── __init__.py
│ │ ├── resources_rc.py
│ │ └── version_details_widget.py
│ └── version_details.py
└── views
│ ├── __init__.py
│ ├── edit_selected_widget_delegate.py
│ ├── grouped_list_view
│ ├── __init__.py
│ ├── group_widget.py
│ ├── group_widget_base.py
│ ├── grouped_item_view.py
│ ├── grouped_list_view.py
│ └── grouped_list_view_item_delegate.py
│ ├── shotgun_tableview.py
│ └── widget_delegate.py
├── resources
└── resources.graffle
└── tests
├── filtering
├── test_filter_definition.py
├── test_filter_item.py
└── test_filter_menu.py
├── fixtures
└── config
│ ├── bundles
│ └── test_app
│ │ ├── app.py
│ │ └── info.yml
│ ├── core
│ └── hooks
│ │ └── pick_environment.py
│ └── env
│ └── test.yml
├── python
├── data_object.py
└── list_model.py
└── test_framework.py
/.coveragerc:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2019 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 | #
11 | # coverage configuration - used by https://coveralls.io/ integration
12 | #
13 | #
14 | [run]
15 | source=.
16 | omit=tests/*
17 |
18 | [report]
19 | exclude_lines =
20 | raise NotImplementedError
21 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 |
5 | # Ignore vim temporary and swap files
6 | *~
7 | [._]*.s[a-w][a-z]
8 | [._]s[a-w][a-z]
9 |
10 | # C extensions
11 | *.so
12 |
13 | # Distribution / packaging
14 | .Python
15 | env/
16 | bin/
17 | build/
18 | develop-eggs/
19 | dist/
20 | eggs/
21 | lib/
22 | lib64/
23 | parts/
24 | sdist/
25 | var/
26 | *.egg-info/
27 | .installed.cfg
28 | *.egg
29 |
30 | # Installer logs
31 | pip-log.txt
32 | pip-delete-this-directory.txt
33 |
34 | # Unit test / coverage reports
35 | htmlcov/
36 | .tox/
37 | .coverage
38 | .cache
39 | nosetests.xml
40 | coverage.xml
41 |
42 | # Translations
43 | *.mo
44 |
45 | # Mr Developer
46 | .mr.developer.cfg
47 | .project
48 | .pydevproject
49 |
50 | # Rope
51 | .ropeproject
52 |
53 | # Django stuff:
54 | *.log
55 | *.pot
56 |
57 | # Sphinx documentation
58 | docs/_build/
59 |
60 | # PyCharm project settings
61 | .idea
62 |
--------------------------------------------------------------------------------
/.pre-commit-config.yaml:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2019 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | # Styles the code properly
12 | # Exclude the UI files, as they are auto-generated.
13 | exclude: "ui\/.*py$"
14 | # List of super useful formatters.
15 | repos:
16 | - repo: https://github.com/pre-commit/pre-commit-hooks
17 | rev: v5.0.0
18 | hooks:
19 | # Ensures the code is syntaxically correct
20 | - id: check-ast
21 | language_version: python3
22 | # Ensures a file name will resolve on all platform
23 | - id: check-case-conflict
24 | # Checks files with the execute bit set have shebangs
25 | - id: check-executables-have-shebangs
26 | # Ensure there's no incomplete merges
27 | - id: check-merge-conflict
28 | # Adds an empty line if missing at the end of a file.
29 | - id: end-of-file-fixer
30 | # Makes sure requirements.txt is properly formatted
31 | - id: requirements-txt-fixer
32 | # Removes trailing whitespaces.
33 | - id: trailing-whitespace
34 | # Leave black at the bottom so all touchups are done before it is run.
35 | - repo: https://github.com/psf/black
36 | rev: 25.1.0
37 | hooks:
38 | - id: black
39 | language_version: python3
40 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](http://www.vfxplatform.com/)
2 | [](https://www.python.org/)
3 | [](https://dev.azure.com/shotgun-ecosystem/Toolkit/_build/latest?definitionId=45&branchName=master)
4 | [](https://codecov.io/gh/shotgunsoftware/tk-framework-qtwidgets)
5 | [](https://github.com/psf/black)
6 | [](https://houndci.com)
7 |
8 | ## Documentation
9 | This repository is a part of the Flow Production Tracking Pipeline Toolkit.
10 |
11 | - For more information about this app and for release notes, *see the wiki section*.
12 | - For API Reference, see http://developer.shotgridsoftware.com/tk-framework-qtwidgets
13 | - For general information and documentation, click here: https://help.autodesk.com/view/SGDEV/ENU/?contextId=SA_INTEGRATIONS_USER_GUIDE
14 | - For information about Flow Production Tracking in general, click here: https://www.shotgridsoftware.com/integrations
15 |
16 | ## Using this app in your Setup
17 | All the apps that are part of our standard app suite are pushed to our App Store.
18 | This is where you typically go if you want to install an app into a project you are
19 | working on. For an overview of all the Apps and Engines in the Toolkit App Store,
20 | click here: https://help.autodesk.com/view/SGDEV/ENU/?contextId=PC_TOOLKIT_APPS
21 |
22 | ## Have a Question?
23 | Don't hesitate to contact us! You can find us on https://knowledge.autodesk.com/contact-support
24 |
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | ## Security
4 |
5 | At Autodesk, we know that the security of your data is critical to your studio’s
6 | operation.
7 | As the industry shifts to the cloud, ShotGrid knows that security and service
8 | models are more important than ever.
9 |
10 | The confidentiality, integrity, and availability of your content is at the top
11 | of our priority list.
12 | Not only do we have a team of ShotGrid engineers dedicated to platform security
13 | and performance, we are also backed by Autodesk’s security team, also invests
14 | heavily in the security for broad range of industries and customers.
15 | We constantly reassess, develop, and improve our risk management program because
16 | we know that the landscape of security is ever-changing.
17 |
18 | If you believe you have found a security vulnerability in any ShotGrid-owned
19 | repository, please report it to us as described below.
20 |
21 |
22 | ## Reporting Security Issues
23 |
24 | **Please do not report security vulnerabilities through public GitHub issues.**
25 |
26 | Instead, please report them by sending a message to
27 | [Autodesk Trust Center](https://www.autodesk.com/trust/contact-us).
28 |
29 | Please include as much information as you can provide such as locations,
30 | configurations, reproduction steps, exploit code, impact, etc.
31 |
32 |
33 | ## Additional Information
34 |
35 | Please check out the [ShotGrid Security White Paper](https://help.autodesk.com/view/SGSUB/ENU/?guid=SG_Administrator_ar_general_security_ar_security_white_paper_html).
36 |
--------------------------------------------------------------------------------
/azure-pipelines.yml:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2019 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | # Imports the shared Azure CI tools
12 | resources:
13 | repositories:
14 | - repository: templates
15 | type: github
16 | name: shotgunsoftware/tk-ci-tools
17 | ref: refs/heads/master
18 | endpoint: shotgunsoftware
19 |
20 | # We want builds to trigger for 3 reasons:
21 | # - The master branch sees new commits
22 | # - Each PR should get rebuilt when commits are added to it.
23 | # - When we tag something
24 | trigger:
25 | branches:
26 | include:
27 | - master
28 | tags:
29 | include:
30 | - v*
31 | pr:
32 | branches:
33 | include:
34 | - "*"
35 |
36 | # This pulls in a variable group from Azure. Variables can be encrypted or not.
37 | variables:
38 | - group: deploy-secrets
39 |
40 | jobs:
41 | - template: build-pipeline.yml@templates
42 | parameters:
43 | additional_repositories:
44 | - name: tk-framework-shotgunutils
45 |
--------------------------------------------------------------------------------
/docs/activity_stream.rst:
--------------------------------------------------------------------------------
1 | Flow Production Tracking Activity Stream Widget
2 | ###############################################
3 |
4 | Introduction
5 | ======================================
6 |
7 | The activity stream widget is a QT widget that renders the activity stream for a
8 | given Flow Production Tracking entity. The functionality is similar to that in the activity stream
9 | found inside the Flow Production Tracking web application. Publishes and Versions show up with thumbnails,
10 | optionally with playback links. Notes show up with replies and attachments and you can
11 | reply to notes directly in the activity stream.
12 |
13 | .. image:: images/activity_stream_1.png
14 |
15 | In addition to an activity stream widget, this module also contains a widget for
16 | displaying notes and replies. This uses the same data backend as the activity stream
17 | and has a similar look and feel.
18 |
19 | .. image:: images/activity_stream_2.png
20 |
21 | Caching policy
22 | -----------------------------------
23 | All the content in the activity stream is cached and when you request the activity
24 | stream for an entity, the widget requests only the changes since the last update. The
25 | data is cached in a shared manner, meaning that a project, shot and task may be showing
26 | the same updates in their respective streams - and in this case, those updates are only
27 | pulled down once.
28 |
29 |
30 | ActivityStreamWidget
31 | ======================================
32 |
33 | .. currentmodule:: activity_stream
34 |
35 | .. autoclass:: ActivityStreamWidget
36 | :show-inheritance:
37 | :members:
38 | :inherited-members:
39 |
40 | ReplyListWidget
41 | ======================================
42 |
43 | .. currentmodule:: activity_stream
44 |
45 | .. autoclass:: ReplyListWidget
46 | :show-inheritance:
47 | :members:
48 | :inherited-members:
49 |
--------------------------------------------------------------------------------
/docs/context_widget.rst:
--------------------------------------------------------------------------------
1 | Context Selector Widget
2 | #############################################
3 |
4 |
5 | .. currentmodule:: context_selector
6 |
7 | This widget is a standardized context selection UI, suitable to be
8 | dropped in when a Toolkit App needs a user to select a context:
9 |
10 | .. image:: images/context_widget.png
11 |
12 | The widget includes the following features:
13 |
14 | - Uses standard auto completers to allow a user to quickly find tasks or links.
15 | - Keeps recently selected tasks on the menu for quick lookup.
16 | - Shows related tasks for a given task or link.
17 | - Configurable to be just a viewer rather than a selector.
18 | - Configurable title
19 |
20 | .. autoclass:: ContextWidget
21 | :members:
22 | :inherited-members:
23 | :exclude-members: eventFilter
24 |
--------------------------------------------------------------------------------
/docs/delegates.rst:
--------------------------------------------------------------------------------
1 | Delegates
2 | ######################################
3 |
4 | Flexible delegates to set up with a Qt model and view to display the data
5 |
6 | .. currentmodule:: delegates
7 |
8 | .. autoclass:: ViewItemDelegate
9 | :show-inheritance:
10 | :members:
11 |
12 | .. autoclass:: ThumbnailViewItemDelegate
13 | :show-inheritance:
14 | :members:
15 |
--------------------------------------------------------------------------------
/docs/elided_label.rst:
--------------------------------------------------------------------------------
1 | Auto-Elide label
2 | ######################################
3 |
4 |
5 | This simple yet commonly used class helps add an elide (a "..." at the end)
6 | to text when it doesn't fit within a given space.
7 |
8 | .. currentmodule:: elided_label
9 |
10 | .. autoclass:: ElidedLabel
11 | :show-inheritance:
12 | :inherited-members:
13 | :members:
14 | :exclude-members: resizeEvent
15 |
--------------------------------------------------------------------------------
/docs/filtering.rst:
--------------------------------------------------------------------------------
1 | Filtering
2 | ######################################
3 |
4 | Filtering functionality that aims to mimic the Flow Production Tracking Web UI filter menu.
5 |
6 | .. currentmodule:: filtering
7 |
8 | .. autoclass:: FilterMenu
9 | :show-inheritance:
10 | :members:
11 |
12 | .. autoclass:: FilterMenuButton
13 | :show-inheritance:
14 | :members:
15 |
16 | .. autoclass:: FilterItem
17 | :show-inheritance:
18 | :members:
19 |
20 | .. autoclass:: FilterItemProxyModel
21 | :show-inheritance:
22 | :members:
23 |
24 | .. autoclass:: FilterItemTreeProxyModel
25 | :show-inheritance:
26 | :members:
27 |
--------------------------------------------------------------------------------
/docs/help_screen.rst:
--------------------------------------------------------------------------------
1 | Help Screen Popup
2 | ######################################
3 |
4 |
5 | Introduction
6 | ======================================
7 |
8 | .. image:: images/help_overview.png
9 |
10 |
11 | The help popup is a window which presents a series of help images to the user,
12 | typically displayed at startup, to help introduce new feature or a new application
13 | to a user. The information is presented as an interactive slide show where the user
14 | can easily navigate between sides.
15 |
16 | .. image:: images/help_aspects.png
17 |
18 |
19 | You simply provide it with a list of transparent bitmaps sized 650x400 and it will
20 | create a slideshow with animated transitions and a link to the bundle's associated
21 | documentation (retrieved from the manifest).
22 |
23 | Sample Code
24 | ---------------------------------------
25 |
26 | The ``help_screen`` module contains a single method that takes care of everything.
27 | Simply create the number of 650x400 images that you want and export them as transparent
28 | ``png`` files and ensure that the background is transparent (this is not a strict requirement,
29 | but it will most likely look strange with a non-transparent background). Add the
30 | images to the QT resource section of your app and then execute the following code
31 | to launch the help screen::
32 |
33 | # example of how the help screen can be used within your app code
34 |
35 | # import the module - note that this is using the special
36 | # import_framework code so it won't work outside an app
37 | help_screen = sgtk.platform.import_framework("tk-framework-qtwidgets", "help_screen")
38 |
39 | # generate pixmaps of the help screen resources we want to display
40 | help_pix = [ QtGui.QPixmap(":/res/help_1.png"),
41 | QtGui.QPixmap(":/res/help_2.png"),
42 | QtGui.QPixmap(":/res/help_3.png"),
43 | QtGui.QPixmap(":/res/help_4.png") ]
44 |
45 | # get the current app object
46 | app = sgtk.platform.current_bundle()
47 |
48 | # get the current QT UI window
49 | window = current_dialog_object.window()
50 |
51 | # and present the help screen. This is a non-blocking call
52 | # and the application flow will continue
53 | help_screen.show_help_screen(self.window(), app, help_pix)
54 |
55 |
56 |
57 | API Reference
58 | ======================================
59 |
60 | .. currentmodule:: help_screen
61 |
62 | .. autofunction:: show_help_screen
63 |
--------------------------------------------------------------------------------
/docs/images/activity_stream.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/activity_stream.png
--------------------------------------------------------------------------------
/docs/images/activity_stream_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/activity_stream_1.png
--------------------------------------------------------------------------------
/docs/images/activity_stream_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/activity_stream_2.png
--------------------------------------------------------------------------------
/docs/images/context_widget.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/context_widget.png
--------------------------------------------------------------------------------
/docs/images/field_checkbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/field_checkbox.png
--------------------------------------------------------------------------------
/docs/images/field_currency.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/field_currency.png
--------------------------------------------------------------------------------
/docs/images/field_date.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/field_date.png
--------------------------------------------------------------------------------
/docs/images/field_datetime.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/field_datetime.png
--------------------------------------------------------------------------------
/docs/images/field_datetime_display.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/field_datetime_display.png
--------------------------------------------------------------------------------
/docs/images/field_datetime_editable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/field_datetime_editable.png
--------------------------------------------------------------------------------
/docs/images/field_datetime_editor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/field_datetime_editor.png
--------------------------------------------------------------------------------
/docs/images/field_entity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/field_entity.png
--------------------------------------------------------------------------------
/docs/images/field_file_link.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/field_file_link.png
--------------------------------------------------------------------------------
/docs/images/field_float.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/field_float.png
--------------------------------------------------------------------------------
/docs/images/field_footage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/field_footage.png
--------------------------------------------------------------------------------
/docs/images/field_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/field_image.png
--------------------------------------------------------------------------------
/docs/images/field_list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/field_list.png
--------------------------------------------------------------------------------
/docs/images/field_multi_entity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/field_multi_entity.png
--------------------------------------------------------------------------------
/docs/images/field_number.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/field_number.png
--------------------------------------------------------------------------------
/docs/images/field_percent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/field_percent.png
--------------------------------------------------------------------------------
/docs/images/field_status_list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/field_status_list.png
--------------------------------------------------------------------------------
/docs/images/field_tags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/field_tags.png
--------------------------------------------------------------------------------
/docs/images/field_text.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/field_text.png
--------------------------------------------------------------------------------
/docs/images/field_url_template.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/field_url_template.png
--------------------------------------------------------------------------------
/docs/images/global_search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/global_search.png
--------------------------------------------------------------------------------
/docs/images/grouped_list_view.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/grouped_list_view.png
--------------------------------------------------------------------------------
/docs/images/help_aspects.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/help_aspects.png
--------------------------------------------------------------------------------
/docs/images/help_overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/help_overview.png
--------------------------------------------------------------------------------
/docs/images/navigation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/navigation.png
--------------------------------------------------------------------------------
/docs/images/note_reply.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/note_reply.png
--------------------------------------------------------------------------------
/docs/images/overlay_overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/overlay_overview.png
--------------------------------------------------------------------------------
/docs/images/playback_label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/playback_label.png
--------------------------------------------------------------------------------
/docs/images/shotgun_fields.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/shotgun_fields.png
--------------------------------------------------------------------------------
/docs/images/shotgun_menus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/shotgun_menus.png
--------------------------------------------------------------------------------
/docs/images/shotgun_menus_example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/shotgun_menus_example.png
--------------------------------------------------------------------------------
/docs/images/source.graffle:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/source.graffle
--------------------------------------------------------------------------------
/docs/images/version_details_notes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/version_details_notes.png
--------------------------------------------------------------------------------
/docs/images/version_details_versions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/version_details_versions.png
--------------------------------------------------------------------------------
/docs/images/widget_classes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/widget_classes.png
--------------------------------------------------------------------------------
/docs/images/widget_overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/docs/images/widget_overview.png
--------------------------------------------------------------------------------
/docs/index.rst:
--------------------------------------------------------------------------------
1 | The QT Widgets Framework
2 | ####################################################
3 |
4 | The QT Widgets Framework contains a collection of QT UI Related modules.
5 |
6 | Contents:
7 |
8 | .. toctree::
9 | :maxdepth: 2
10 |
11 | activity_stream
12 | elided_label
13 | search_completer
14 | shotgun_search_widget
15 | context_widget
16 | delegates
17 | filtering
18 | help_screen
19 | models
20 | navigation
21 | note_input_widget
22 | overlay_widget
23 | playback_label
24 | screen_grab
25 | shotgun_fields
26 | shotgun_menus
27 | shotgun_widget
28 | spinner_widget
29 | version_details
30 | views
31 |
32 | Importing widgets into your app
33 | =============================================
34 |
35 | Each of the modules in this framework can be used inside your Toolkit Apps.
36 | They are typically imported via Toolkit's special ``import_framework()`` method,
37 | which handles automatic reload and resource management behind the scenes::
38 |
39 | overlay_widget = sgtk.platform.import_framework("tk-framework-qtwidgets", "overlay_widget")
40 |
41 | These imports work just like the normal ``import`` call in python and we recommend
42 | that they are placed at the top of the file.
43 |
44 | Once you have imported the module, you can access the class or objects inside::
45 |
46 | my_overlay = overlay_widget.ShotgunOverlayWidget(self)
47 |
48 | .. _widgets-in-designer:
49 |
50 | Using widgets with QT Designer
51 | ----------------------------------------------------
52 |
53 | If you are dropping the widgets into QT Designer directly, there isn't an option to
54 | run the ``import_framework`` method. In this case, we recommend adding imports to a wrapper
55 | file and place that next to your other python files. You can for example call this file
56 | ``qtwidgets.py`` and then do the imports in this file::
57 |
58 | import sgtk
59 |
60 | note_input_widget = sgtk.platform.current_bundle().import_module("note_input_widget")
61 | NoteInputWidget = note_input_widget.NoteInputWidget
62 |
63 | version_label = sgtk.platform.current_bundle().import_module("version_label")
64 | VersionLabel = version_label.VersionLabel
65 |
66 | In your designer generated ``.ui`` files, you can now reference these widgets as if they were
67 | local to your project.
68 |
--------------------------------------------------------------------------------
/docs/models.rst:
--------------------------------------------------------------------------------
1 | Model Related Classes
2 | ######################################
3 |
4 | The ``models`` module contains QT Models and model related classes that
5 | are useful when building MVC setups and when you need to filter data in
6 | various ways.
7 |
8 |
9 | HierarchicalFilteringProxyModel
10 | ======================================
11 |
12 | .. currentmodule:: models
13 |
14 | .. autoclass:: HierarchicalFilteringProxyModel
15 | :show-inheritance:
16 | :members: _is_row_accepted, enable_caching
17 | :private-members: _is_row_accepted
18 |
19 | ShotgunSortFilterProxyModel
20 | ======================================
21 |
22 | .. currentmodule:: models
23 |
24 | .. autoclass:: ShotgunSortFilterProxyModel
25 | :show-inheritance:
26 | :members: lessThan, filterAcceptsRow
27 | :private-members: _get_processable_field_data
28 |
--------------------------------------------------------------------------------
/docs/navigation.rst:
--------------------------------------------------------------------------------
1 | Navigation Widgets
2 | ######################################
3 |
4 | The navigation module contains standard widgets that can
5 | be used to track navigation and state.
6 |
7 | .. image:: images/navigation.png
8 |
9 | The breadcrumbs widget is a standard widget that displays a history
10 | of things separated by arrows. This class utilizes the :class:`~elided_label.ElidedLabel` widget
11 | to ensure that names are reduced down nicely in the case there ins't enough
12 | space to display the entire history.
13 |
14 | The navigation widget implements the standard home/next/prev concept that can be
15 | found in several Toolkit apps.
16 |
17 |
18 | Breadcrumbs
19 | ======================================
20 |
21 | .. currentmodule:: navigation
22 |
23 | .. autoclass:: BreadcrumbWidget
24 | :show-inheritance:
25 | :members:
26 |
27 | .. autoclass:: Breadcrumb
28 | :members:
29 |
30 | Home/Next/Prev Navigation
31 | ======================================
32 |
33 | .. autoclass:: NavigationWidget
34 | :show-inheritance:
35 | :members:
36 |
--------------------------------------------------------------------------------
/docs/note_input_widget.rst:
--------------------------------------------------------------------------------
1 | Flow Production Tracking Note Input Widget
2 | #############################################
3 |
4 | The note editor widget makes it easy to add notes in Toolkit.
5 |
6 | .. image:: images/note_reply.png
7 |
8 | You can use the widget either to create or reply to notes. The editor
9 | includes screen grabbing capabilities and a user name auto completer.
10 | If you start typing @xyz, an auto completer will kick in and show matching
11 | groups and users. Once added to the note text, these users will automatically
12 | be included in the TO list in the case of a new note and in the CC list in the
13 | case of a reply.
14 |
15 | NoteInputWidget
16 | ======================================
17 |
18 | .. currentmodule:: note_input_widget
19 |
20 | .. autoclass:: NoteInputWidget
21 | :show-inheritance:
22 | :members:
23 | :exclude-members: mousePressEvent
24 |
25 | NoteInputDialog
26 | ======================================
27 |
28 | .. currentmodule:: note_input_widget
29 |
30 | .. autoclass:: NoteInputDialog
31 | :show-inheritance:
32 | :members:
33 | :exclude-members: mousePressEvent
34 |
--------------------------------------------------------------------------------
/docs/overlay_widget.rst:
--------------------------------------------------------------------------------
1 | Text Overlay Widget
2 | ######################################
3 |
4 |
5 | Introduction
6 | ======================================
7 |
8 | .. image:: images/overlay_overview.png
9 |
10 |
11 | The progress overlay module provides a standardized progress overlay widget which
12 | can easily be placed on top of any other :class:`PySide.QtGui.QWidget` to indicate that work is happening
13 | and potentially report messages back to the user. Once you have instantiated and
14 | placed it on top of another widget, you can execute various methods to control its state.
15 |
16 |
17 |
18 |
19 | Sample Code
20 | --------------------------------------
21 |
22 | The following sample code shows how to import the overlay module,
23 | connect it to a widget and then control the overlay state::
24 |
25 | # example of how the overlay can be used within your app code
26 |
27 | # import the module - note that this is using the special
28 | # import_framework code so it won't work outside an app
29 | overlay = sgtk.platform.import_framework("tk-framework-qtwidgets", "overlay_widget")
30 |
31 | # now inside your app constructor, create an overlay and parent it to something
32 | self._overlay = overlay.ShotgunOverlayWidget(my_widget)
33 |
34 | # now you can use the overlay to report things to the user
35 | try:
36 | self._overlay.start_spin()
37 | run_some_code_here()
38 | except Exception, e:
39 | self._overlay.show_error_message("An error was reported: %s" % e)
40 | finally:
41 | self._overlay.hide()
42 |
43 | Please note that the example above is crude and for heavy computational work we recommend
44 | an asynchronous approach with a worker thread for better UI responsiveness.
45 |
46 |
47 | .. currentmodule:: overlay_widget
48 |
49 | ShotgunSpinningWidget
50 | ======================================
51 |
52 | .. autoclass:: ShotgunSpinningWidget
53 | :show-inheritance:
54 | :members:
55 | :exclude-members: paintEvent
56 |
57 | ShotgunOverlayWidget
58 | ======================================
59 |
60 | .. autoclass:: ShotgunOverlayWidget
61 | :show-inheritance:
62 | :members:
63 | :inherited-members:
64 | :exclude-members: paintEvent
65 |
66 | ShotgunModelOverlayWidget
67 | ======================================
68 |
69 | .. autoclass:: ShotgunModelOverlayWidget
70 | :show-inheritance:
71 | :members:
72 | :exclude-members: paintEvent
73 |
--------------------------------------------------------------------------------
/docs/playback_label.rst:
--------------------------------------------------------------------------------
1 | Flow Production Tracking Playback Label Widget
2 | ##############################################
3 |
4 | The Flow Production Tracking Playback Label is a simple ``QLabel`` override which
5 | makes it easy to indicate that a thumbnail can be played back:
6 |
7 | .. image:: images/playback_label.png
8 |
9 | The widget takes care of analyzing provided Flow Production Tracking data, and in
10 | case the Flow Production Tracking data contains playable media, the playback icon will
11 | automatically appear. Clicking the playback icon will launch a
12 | playback action, currently launching Flow Production Tracking screening room in a web browser.
13 |
14 | .. note:: In order to use this widget in QT designer, you need to wrap
15 | the import in a module. For more information on how to do this, see :ref:`widgets-in-designer`.
16 |
17 | Use the label like this::
18 |
19 | playback_label = sgtk.platform.import_framework("tk-framework-qtwidgets", "playback_label")
20 |
21 | # construct label object
22 | label = playback_label.ShotgunPlaybackLabel(parent_widget)
23 |
24 | # always use label with a pixmap
25 | label.setPixmap(some_pixmap_object)
26 |
27 | # pass a Flow Production Tracking data dictionary to tell the label what data we are
28 | # operating on. Make sure to include relevant fields - for example,
29 | # if you are passing version data, make sure to include media fields
30 | label.set_shotgun_data(sg_data)
31 |
32 | # we can check if an icon is displayed
33 | print "Playback icon displayed: %s" % label.playbable
34 |
35 | # and we can hook it up to other things
36 | label.playback_clicked.connect(some_callback)
37 |
38 |
39 |
40 | .. currentmodule:: playback_label
41 |
42 | .. autoclass:: ShotgunPlaybackLabel
43 | :show-inheritance:
44 | :members: set_shotgun_data, playable
45 |
--------------------------------------------------------------------------------
/docs/screen_grab.rst:
--------------------------------------------------------------------------------
1 | Screen Capture Widget
2 | #############################################
3 |
4 | The screen capture widgets makes it easy to take screenshots.
5 | Similar to pressing CMD+SHIFT+4/CMD+SHIFT+3 on the mac, this widget implements
6 | several different ways in which the screen can be captured, either via
7 | a cross hair style selection or by grabbing the entire screen.
8 |
9 | .. currentmodule:: screen_grab
10 |
11 | .. autofunction:: get_desktop_pixmap
12 | .. autofunction:: screen_capture
13 | .. autofunction:: screen_capture_file
14 |
--------------------------------------------------------------------------------
/docs/search_completer.rst:
--------------------------------------------------------------------------------
1 | Flow Production Tracking Search Completers
2 | #############################################
3 |
4 |
5 | .. currentmodule:: search_completer
6 |
7 |
8 | Global Search Completer
9 | =======================
10 |
11 | The global search completer is a QCompleter instance for use with widgets
12 | that allow input of Flow Production Tracking entities. The completer can be customized to
13 | search across a given set of entity types.
14 |
15 | Once a user selects an object, a signal fires to indicate that an entity
16 | was activated.
17 |
18 | .. autoclass:: GlobalSearchCompleter
19 | :members:
20 | :inherited-members:
21 |
22 |
23 | Hierarchical Search Completer
24 | =============================
25 |
26 | The hierarchical search completer is a QCompleter instance for use with widgets
27 | that allow input of Flow Production Tracking entities. The completer can be customized to search
28 | in a site's complete hierarchy or in a single project.
29 |
30 | Once a user selects an object, a signal fires to indicate that a node from the
31 | hierarchy was selected.
32 |
33 | .. autoclass:: HierarchicalSearchCompleter
34 | :members:
35 | :inherited-members:
36 |
--------------------------------------------------------------------------------
/docs/shotgun_menus.rst:
--------------------------------------------------------------------------------
1 | Flow Production Tracking Menus
2 | ##############################
3 |
4 | Introduction
5 | ============
6 |
7 | The Flow Production Tracking Menus class provide a standardized interface, look and feel for
8 | building menus that interact with Flow Production Tracking.
9 |
10 | .. image:: images/shotgun_menus.png
11 |
12 | ----
13 |
14 | Flow Production Tracking Menu
15 | -----------------------------
16 |
17 | .. currentmodule:: shotgun_menus
18 |
19 | .. autoclass:: ShotgunMenu
20 | :show-inheritance:
21 | :members:
22 |
23 | ----
24 |
25 | Entity Field Menu
26 | -----------------
27 |
28 | .. autoclass:: EntityFieldMenu
29 | :show-inheritance:
30 | :members:
31 |
--------------------------------------------------------------------------------
/docs/shotgun_search_widget.rst:
--------------------------------------------------------------------------------
1 | Flow Production Tracking Search Widget
2 | #############################################
3 |
4 | The Flow Production Tracking search widgets are similar to the global search and hierarchical
5 | search found in Flow Production Tracking. They return a number of matches based on text
6 | that is being typed in by the user.
7 |
8 | .. image:: images/global_search.png
9 |
10 | Once a user selects an object, a signal fires to indicate the request.
11 |
12 | .. currentmodule:: shotgun_search_widget
13 |
14 | .. autoclass:: GlobalSearchWidget
15 | :members:
16 | :inherited-members:
17 |
18 | .. autoclass:: HierarchicalSearchWidget
19 | :members:
20 | :inherited-members:
21 |
--------------------------------------------------------------------------------
/docs/shotgun_widget.rst:
--------------------------------------------------------------------------------
1 |
2 | Flow Production Tracking Widgets
3 | ######################################
4 |
5 | Widgets to display Flow Production Tracking specific data using a Qt view and delegate, in customizable way.
6 |
7 | .. currentmodule:: shotgun_widget
8 |
9 | .. autoclass:: ShotgunWidget
10 | :show-inheritance:
11 | :members:
12 |
13 | .. autoclass:: ShotgunListWidget
14 | :show-inheritance:
15 | :members:
16 |
17 | .. autoclass:: ShotgunFolderWidget
18 | :show-inheritance:
19 | :members:
20 |
--------------------------------------------------------------------------------
/docs/spinner_widget.rst:
--------------------------------------------------------------------------------
1 | Spinner Widget
2 | ######################################
3 |
4 |
5 | A simple animated progress spinner that can be used to indicate
6 | that something is loading.
7 |
8 | .. currentmodule:: spinner_widget
9 |
10 | .. autoclass:: SpinnerWidget
11 | :show-inheritance:
12 | :inherited-members:
13 | :members:
14 | :exclude-members: closeEvent, hideEvent, paintEvent, showEvent
15 |
--------------------------------------------------------------------------------
/docs/version_details.rst:
--------------------------------------------------------------------------------
1 | Flow Production Tracking Version Details Widget
2 | ###############################################
3 |
4 | Introduction
5 | ======================================
6 |
7 | The version details widget is a Qt widget that renders the activity stream of a
8 | Version entity in one tab, and provides a list of related Version entities in
9 | another. A detailed view of of the Version entity, plus its associated fields,
10 | is provided, with the ability for a user to customize what fields they see.
11 |
12 | .. image:: images/version_details_notes.png
13 |
14 | .. image:: images/version_details_versions.png
15 |
16 | Caching policy
17 | -----------------------------------
18 | As with the Flow Production Tracking Activity Stream Widget, all the content in the Notes tab is cached,
19 | and the widget requests only the changes since the last update.
20 |
21 | VersionDetailsWidget
22 | ======================================
23 |
24 | .. currentmodule:: version_details
25 |
26 | .. autoclass:: VersionDetailsWidget
27 | :show-inheritance:
28 | :members:
29 | :inherited-members:
30 |
--------------------------------------------------------------------------------
/framework.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2013 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | import sgtk
12 |
13 |
14 | class QtWidgetFramework(sgtk.platform.Framework):
15 |
16 | ##########################################################################################
17 | # init and destroy
18 |
19 | def init_framework(self):
20 | self.log_debug("%s: Initializing..." % self)
21 |
22 | def destroy_framework(self):
23 | self.log_debug("%s: Destroying..." % self)
24 |
--------------------------------------------------------------------------------
/icon_256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/icon_256.png
--------------------------------------------------------------------------------
/info.yml:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2013 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | # Metadata defining the behavior and requirements for this framework
12 |
13 | # expected fields in the configuration file for this engine
14 | configuration:
15 |
16 | # the Shotgun fields that this engine needs in order to operate correctly
17 | requires_shotgun_fields:
18 |
19 | # More verbose description of this item
20 | display_name: "QT Widgets Framework"
21 | description: "A Collection of Reusable QT Widgets to simplify app development."
22 |
23 | # Required minimum versions for this item to run
24 | requires_shotgun_version:
25 | requires_core_version: "v0.21.4"
26 |
27 |
28 | # the frameworks required to run this app
29 | frameworks:
30 | - {"name": "tk-framework-shotgunutils", "version": "v5.x.x", "minimum_version": "v5.10.0"}
31 |
--------------------------------------------------------------------------------
/python/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2016 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | from . import utils
12 | from . import decorators
13 | from . import sg_qicons
14 | from . import sg_qwidgets
15 | from . import playback_label
16 | from . import views
17 | from . import models
18 | from . import overlay_widget
19 | from . import help_screen
20 | from . import spinner_widget
21 | from . import search_widget
22 | from . import elided_label
23 | from . import navigation
24 | from . import note_input_widget
25 | from . import activity_stream
26 | from . import search_completer
27 | from . import shotgun_search_widget
28 | from . import global_search_completer
29 | from . import global_search_widget
30 | from . import screen_grab
31 | from . import shotgun_fields
32 | from . import shotgun_menus
33 | from . import shotgun_widget
34 | from . import version_details
35 | from . import context_selector
36 | from . import delegates
37 | from . import filtering
38 | from . import message_box
39 |
--------------------------------------------------------------------------------
/python/activity_stream/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 |
12 | from .activity_stream import ActivityStreamWidget
13 | from .reply_list import ReplyListWidget
14 |
--------------------------------------------------------------------------------
/python/activity_stream/qtwidgets.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | """
12 | Wrapper for the various widgets used from frameworks so that they can be used
13 | easily from with Qt Designer
14 | """
15 |
16 | import sgtk
17 |
18 | note_input_widget = sgtk.platform.current_bundle().import_module("note_input_widget")
19 | NoteInputWidget = note_input_widget.NoteInputWidget
20 |
21 | playback_label = sgtk.platform.current_bundle().import_module("playback_label")
22 | ShotgunPlaybackLabel = playback_label.ShotgunPlaybackLabel
23 |
--------------------------------------------------------------------------------
/python/activity_stream/resources/attachment_group_widget.ui:
--------------------------------------------------------------------------------
1 |
2 |
3 | AttachmentGroupWidget
4 |
5 |
6 |
7 | 0
8 | 0
9 | 577
10 | 182
11 |
12 |
13 |
14 | Form
15 |
16 |
17 |
18 | 4
19 |
20 |
21 | 36
22 |
23 |
24 | 6
25 |
26 |
27 | 0
28 |
29 |
30 | 0
31 |
32 | -
33 |
34 |
35 |
36 | 100
37 | 16
38 |
39 |
40 |
41 |
42 | 100
43 | 16
44 |
45 |
46 |
47 |
48 |
49 |
50 | :/tk_framework_qtwidgets.activity_stream/attachments.png
51 |
52 |
53 | true
54 |
55 |
56 |
57 | -
58 |
59 |
60 | QFrame::NoFrame
61 |
62 |
63 | QFrame::Raised
64 |
65 |
66 |
67 | 0
68 |
69 |
70 | 2
71 |
72 |
73 |
74 |
75 | -
76 |
77 |
78 | QFrame::NoFrame
79 |
80 |
81 | QFrame::Raised
82 |
83 |
84 |
85 | 2
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
--------------------------------------------------------------------------------
/python/activity_stream/resources/attachment_icon_192px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/activity_stream/resources/attachment_icon_192px.png
--------------------------------------------------------------------------------
/python/activity_stream/resources/attachments.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/activity_stream/resources/attachments.png
--------------------------------------------------------------------------------
/python/activity_stream/resources/client_note_indicator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/activity_stream/resources/client_note_indicator.png
--------------------------------------------------------------------------------
/python/activity_stream/resources/collapse_widget.ui:
--------------------------------------------------------------------------------
1 |
2 |
3 | CollapseWidget
4 |
5 |
6 |
7 | 0
8 | 0
9 | 332
10 | 16
11 |
12 |
13 |
14 | Form
15 |
16 |
17 |
18 | 0
19 |
20 | -
21 |
22 |
23 | <i><small>Hiding 8 notes...</small></i>
24 |
25 |
26 | Qt::AlignCenter
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/python/activity_stream/resources/default_user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/activity_stream/resources/default_user.png
--------------------------------------------------------------------------------
/python/activity_stream/resources/rect_256x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/activity_stream/resources/rect_256x144.png
--------------------------------------------------------------------------------
/python/activity_stream/resources/reply_dialog.ui:
--------------------------------------------------------------------------------
1 |
2 |
3 | ReplyDialog
4 |
5 |
6 |
7 | 0
8 | 0
9 | 416
10 | 128
11 |
12 |
13 |
14 | Reply
15 |
16 |
17 | true
18 |
19 |
20 | -
21 |
22 |
23 | <big>Please enter a Reply:</big>
24 |
25 |
26 |
27 | -
28 |
29 |
30 |
31 | 0
32 | 40
33 |
34 |
35 |
36 | Qt::NoFocus
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 | NoteInputWidget
45 | QWidget
46 |
47 | 1
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/python/activity_stream/resources/reply_list_widget.ui:
--------------------------------------------------------------------------------
1 |
2 |
3 | ReplyListWidget
4 |
5 |
6 |
7 | 0
8 | 0
9 | 418
10 | 401
11 |
12 |
13 |
14 | Form
15 |
16 |
17 |
18 | 1
19 |
20 |
21 | 1
22 |
23 | -
24 |
25 |
26 | true
27 |
28 |
29 |
30 |
31 | 0
32 | 0
33 | 414
34 | 397
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/python/activity_stream/resources/resources.graffle:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/activity_stream/resources/resources.graffle
--------------------------------------------------------------------------------
/python/activity_stream/resources/resources.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | attachment_icon_192px.png
4 | client_note_indicator.png
5 | rect_256x144.png
6 | default_user.png
7 | attachments.png
8 |
9 |
10 |
--------------------------------------------------------------------------------
/python/activity_stream/style.qss:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (c) 2015 Shotgun Software Inc.
3 |
4 | CONFIDENTIAL AND PROPRIETARY
5 |
6 | This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
7 | Source Code License included in this distribution package. See LICENSE.
8 | By accessing, using, copying or modifying this work you indicate your
9 | agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
10 | not expressly granted therein are reserved by Shotgun Software Inc.
11 | */
12 |
13 |
14 | QFrame#frame {
15 | background-color: rgba(200, 200, 200, 5%);
16 | border-radius: 3px;
17 | }
18 |
19 | QFrame#loading_frame {
20 | border: none
21 | }
22 |
23 | QLabel#loading_label {
24 | border: rgba(200, 200, 200, 50%)
25 | }
26 |
27 | #reply_button {
28 | margin-top: 5px;
29 | color: rgba(200, 200, 200, 50%);
30 | text-align: right;
31 | }
32 |
33 | #reply_button:hover {
34 | color: rgb(200, 200, 200);
35 | }
36 |
37 | #date {
38 | color: rgba(200, 200, 200, 40%);
39 | }
40 |
41 | #full_shotgun_stream_button {
42 | border: none;
43 | color: rgba(200, 200, 200, 50%);
44 | padding-left: 60px;
45 | font-size: 9px;
46 | }
47 |
48 | #hide_preview_button {
49 | border: none;
50 | text-align: left;
51 | color: rgba(200, 200, 200, 50%);
52 | font-size: 9px;
53 | }
54 |
55 | #loading_widget {
56 | text-align: center;
57 | color: rgba(200, 200, 200, 50%);
58 | padding-left: 60px;
59 | font-size: 9px;
60 | }
61 |
--------------------------------------------------------------------------------
/python/activity_stream/ui/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 |
--------------------------------------------------------------------------------
/python/activity_stream/ui/collapse_widget.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 |
3 | ################################################################################
4 | ## Form generated from reading UI file 'collapse_widget.ui'
5 | ##
6 | ## Created by: Qt User Interface Compiler version 5.15.2
7 | ##
8 | ## WARNING! All changes made in this file will be lost when recompiling UI file!
9 | ################################################################################
10 |
11 | from tank.platform.qt import QtCore
12 | for name, cls in QtCore.__dict__.items():
13 | if isinstance(cls, type): globals()[name] = cls
14 |
15 | from tank.platform.qt import QtGui
16 | for name, cls in QtGui.__dict__.items():
17 | if isinstance(cls, type): globals()[name] = cls
18 |
19 |
20 | from . import resources_rc
21 |
22 | class Ui_CollapseWidget(object):
23 | def setupUi(self, CollapseWidget):
24 | if not CollapseWidget.objectName():
25 | CollapseWidget.setObjectName(u"CollapseWidget")
26 | CollapseWidget.resize(332, 16)
27 | self.verticalLayout = QVBoxLayout(CollapseWidget)
28 | self.verticalLayout.setContentsMargins(0, 0, 0, 0)
29 | self.verticalLayout.setObjectName(u"verticalLayout")
30 | self.label = QLabel(CollapseWidget)
31 | self.label.setObjectName(u"label")
32 | self.label.setAlignment(Qt.AlignCenter)
33 |
34 | self.verticalLayout.addWidget(self.label)
35 |
36 | self.retranslateUi(CollapseWidget)
37 |
38 | QMetaObject.connectSlotsByName(CollapseWidget)
39 | # setupUi
40 |
41 | def retranslateUi(self, CollapseWidget):
42 | CollapseWidget.setWindowTitle(QCoreApplication.translate("CollapseWidget", u"Form", None))
43 | self.label.setText(QCoreApplication.translate("CollapseWidget", u"Hiding 8 notes...", None))
44 | # retranslateUi
45 |
--------------------------------------------------------------------------------
/python/activity_stream/ui/reply_dialog.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 |
3 | ################################################################################
4 | ## Form generated from reading UI file 'reply_dialog.ui'
5 | ##
6 | ## Created by: Qt User Interface Compiler version 5.15.2
7 | ##
8 | ## WARNING! All changes made in this file will be lost when recompiling UI file!
9 | ################################################################################
10 |
11 | from tank.platform.qt import QtCore
12 | for name, cls in QtCore.__dict__.items():
13 | if isinstance(cls, type): globals()[name] = cls
14 |
15 | from tank.platform.qt import QtGui
16 | for name, cls in QtGui.__dict__.items():
17 | if isinstance(cls, type): globals()[name] = cls
18 |
19 |
20 | from ..qtwidgets import NoteInputWidget
21 |
22 | class Ui_ReplyDialog(object):
23 | def setupUi(self, ReplyDialog):
24 | if not ReplyDialog.objectName():
25 | ReplyDialog.setObjectName(u"ReplyDialog")
26 | ReplyDialog.resize(416, 128)
27 | ReplyDialog.setModal(True)
28 | self.verticalLayout = QVBoxLayout(ReplyDialog)
29 | self.verticalLayout.setObjectName(u"verticalLayout")
30 | self.label = QLabel(ReplyDialog)
31 | self.label.setObjectName(u"label")
32 |
33 | self.verticalLayout.addWidget(self.label)
34 |
35 | self.note_widget = NoteInputWidget(ReplyDialog)
36 | self.note_widget.setObjectName(u"note_widget")
37 | self.note_widget.setMinimumSize(QSize(0, 40))
38 | self.note_widget.setFocusPolicy(Qt.NoFocus)
39 |
40 | self.verticalLayout.addWidget(self.note_widget)
41 |
42 | self.retranslateUi(ReplyDialog)
43 |
44 | QMetaObject.connectSlotsByName(ReplyDialog)
45 | # setupUi
46 |
47 | def retranslateUi(self, ReplyDialog):
48 | ReplyDialog.setWindowTitle(QCoreApplication.translate("ReplyDialog", u"Reply", None))
49 | self.label.setText(QCoreApplication.translate("ReplyDialog", u"Please enter a Reply:", None))
50 | # retranslateUi
51 |
--------------------------------------------------------------------------------
/python/activity_stream/ui/reply_list_widget.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 |
3 | ################################################################################
4 | ## Form generated from reading UI file 'reply_list_widget.ui'
5 | ##
6 | ## Created by: Qt User Interface Compiler version 5.15.2
7 | ##
8 | ## WARNING! All changes made in this file will be lost when recompiling UI file!
9 | ################################################################################
10 |
11 | from tank.platform.qt import QtCore
12 | for name, cls in QtCore.__dict__.items():
13 | if isinstance(cls, type): globals()[name] = cls
14 |
15 | from tank.platform.qt import QtGui
16 | for name, cls in QtGui.__dict__.items():
17 | if isinstance(cls, type): globals()[name] = cls
18 |
19 |
20 | from . import resources_rc
21 |
22 | class Ui_ReplyListWidget(object):
23 | def setupUi(self, ReplyListWidget):
24 | if not ReplyListWidget.objectName():
25 | ReplyListWidget.setObjectName(u"ReplyListWidget")
26 | ReplyListWidget.resize(418, 401)
27 | self.verticalLayout = QVBoxLayout(ReplyListWidget)
28 | self.verticalLayout.setSpacing(1)
29 | self.verticalLayout.setContentsMargins(1, 1, 1, 1)
30 | self.verticalLayout.setObjectName(u"verticalLayout")
31 | self.reply_scroll_area = QScrollArea(ReplyListWidget)
32 | self.reply_scroll_area.setObjectName(u"reply_scroll_area")
33 | self.reply_scroll_area.setWidgetResizable(True)
34 | self.reply_widget = QWidget()
35 | self.reply_widget.setObjectName(u"reply_widget")
36 | self.reply_widget.setGeometry(QRect(0, 0, 414, 397))
37 | self.reply_layout = QVBoxLayout(self.reply_widget)
38 | self.reply_layout.setObjectName(u"reply_layout")
39 | self.reply_scroll_area.setWidget(self.reply_widget)
40 |
41 | self.verticalLayout.addWidget(self.reply_scroll_area)
42 |
43 | self.retranslateUi(ReplyListWidget)
44 |
45 | QMetaObject.connectSlotsByName(ReplyListWidget)
46 | # setupUi
47 |
48 | def retranslateUi(self, ReplyListWidget):
49 | ReplyListWidget.setWindowTitle(QCoreApplication.translate("ReplyListWidget", u"Form", None))
50 | # retranslateUi
51 |
--------------------------------------------------------------------------------
/python/activity_stream/widget_loading.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | from sgtk.platform.qt import QtCore, QtGui
12 |
13 | from .widget_activity_stream_base import ActivityStreamBaseWidget
14 |
15 | from .ui.loading_widget import Ui_LoadingWidget
16 |
17 |
18 | class LoadingWidget(ActivityStreamBaseWidget):
19 | """
20 | Widget that displays a "loading..." message in the activity stream.
21 | This is typically displayed while widgets updates are still
22 | being loaded in.
23 | """
24 |
25 | def __init__(self, parent):
26 | """
27 | :param parent: QT parent object
28 | :type parent: :class:`PySide.QtGui.QWidget`
29 | """
30 | # first, call the base class and let it do its thing.
31 | ActivityStreamBaseWidget.__init__(self, parent)
32 | # now load in the UI that was created in the UI designer
33 | self.ui = Ui_LoadingWidget()
34 | self.ui.setupUi(self)
35 |
--------------------------------------------------------------------------------
/python/context_selector/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2017 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | from .context_widget import ContextWidget
12 |
--------------------------------------------------------------------------------
/python/context_selector/qtwidgets.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2017 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | """
12 | Wrapper for the various widgets used from frameworks so that they can be used
13 | easily from with Qt Designer
14 | """
15 |
16 | import sgtk
17 |
18 | global_search_widget = sgtk.platform.current_bundle().import_module(
19 | "global_search_widget"
20 | )
21 | GlobalSearchWidget = global_search_widget.GlobalSearchWidget
22 |
--------------------------------------------------------------------------------
/python/context_selector/resources/down_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/context_selector/resources/down_arrow.png
--------------------------------------------------------------------------------
/python/context_selector/resources/resources.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | search.png
5 | down_arrow.png
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/python/context_selector/resources/search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/context_selector/resources/search.png
--------------------------------------------------------------------------------
/python/context_selector/style.qss:
--------------------------------------------------------------------------------
1 | /*
2 | # Copyright (c) 2017 Shotgun Software Inc.
3 | #
4 | # CONFIDENTIAL AND PROPRIETARY
5 | #
6 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
7 | # Source Code License included in this distribution package. See LICENSE.
8 | # By accessing, using, copying or modifying this work you indicate your
9 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
10 | # not expressly granted therein are reserved by Shotgun Software Inc.
11 | */
12 |
13 | #task_search_btn {
14 | border: none;
15 | padding: 4px;
16 | border-radius: 2px;
17 | background-color: rgba(20, 20, 20, 18%);
18 | }
19 |
20 | #task_search_btn:hover {
21 | border: none;
22 | border-radius: 2px;
23 | background-color: rgba(20, 20, 20, 30%);
24 | }
25 |
26 | #task_search_btn:checked {
27 | border: none;
28 | border-radius: 2px;
29 | background-color: rgba(20, 20, 20, 50%);
30 | }
31 |
32 | #link_search_btn {
33 | border: none;
34 | padding: 4px;
35 | border-radius: 2px;
36 | background-color: rgba(20, 20, 20, 18%);
37 | }
38 |
39 | #link_search_btn:hover {
40 | border: none;
41 | border-radius: 2px;
42 | background-color: rgba(20, 20, 20, 30%);
43 | }
44 |
45 | #link_search_btn:checked {
46 | border: none;
47 | border-radius: 2px;
48 | background-color: rgba(20, 20, 20, 50%);
49 | }
50 |
51 | #task_menu_btn {
52 | border: none;
53 | padding: 4px;
54 | border-radius: 2px;
55 | background-color: rgba(20, 20, 20, 18%);
56 | }
57 |
58 | #task_menu_btn::menu-indicator {
59 | image: none;
60 | }
61 |
62 | #task_menu_btn:hover {
63 | border: none;
64 | border-radius: 2px;
65 | background-color: rgba(20, 20, 20, 30%);
66 | }
67 |
68 | #task_menu_btn:checked {
69 | border: none;
70 | border-radius: 2px;
71 | background-color: rgba(20, 20, 20, 50%);
72 | }
73 |
74 | #task_display {
75 | padding-left: 4px;
76 | border: 1px solid rgba(20, 20, 20, 18%);
77 | border-radius: 2px;
78 | }
79 |
80 | #link_display {
81 | padding-left: 4px;
82 | border: 1px solid rgba(20, 20, 20, 18%);
83 | border-radius: 2px;
84 | }
85 |
86 | #task_search {
87 | padding-left: 4px;
88 | border: 1px solid rgba(20, 20, 20, 18%);
89 | border-radius: 2px;
90 | }
91 |
92 | #link_search {
93 | padding-left: 4px;
94 | border: 1px solid rgba(20, 20, 20, 18%);
95 | border-radius: 2px;
96 | }
97 |
98 |
99 | QMenu::item::indicator {
100 | margin-left: 10px;
101 | }
102 |
--------------------------------------------------------------------------------
/python/context_selector/ui/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2017 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 |
--------------------------------------------------------------------------------
/python/decorators/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2023 Autodesk, Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the ShotGrid Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the ShotGrid Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Autodesk, Inc.
10 |
11 | from .decorators import wait_cursor
12 |
--------------------------------------------------------------------------------
/python/decorators/decorators.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2022 Autodesk, Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the ShotGrid Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the ShotGrid Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Autodesk, Inc.
10 |
11 | from functools import wraps
12 |
13 | from sgtk.platform.qt import QtGui, QtCore
14 |
15 |
16 | def wait_cursor(func):
17 | """
18 | Decorator function that overrides the Qt cursor to show the waiting cursor
19 | while a function executes.
20 |
21 | :param func: The function to execute
22 | :type func: function
23 | """
24 |
25 | @wraps(func)
26 | def wrapper(*args, **kwargs):
27 | QtGui.QApplication.setOverrideCursor(QtCore.Qt.WaitCursor)
28 | try:
29 | return func(*args, **kwargs)
30 | finally:
31 | QtGui.QApplication.restoreOverrideCursor()
32 |
33 | return wrapper
34 |
--------------------------------------------------------------------------------
/python/delegates/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2021 Autodesk, Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Autodesk, Inc.
10 |
11 | from .view_item_delegate import ViewItemDelegate, ViewItemAction
12 | from .thumbnail_view_item_delegate import ThumbnailViewItemDelegate
13 | from .view_item_roles_mixin import ViewItemRolesMixin
14 |
--------------------------------------------------------------------------------
/python/elided_label/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | from .elided_label import ElidedLabel
12 |
--------------------------------------------------------------------------------
/python/filtering/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2021 Autodesk, Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the ShotGrid Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the ShotGrid Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Autodesk, Inc.
10 |
11 | from .filter_definition import FilterDefinition, FilterMenuFiltersDefinition
12 |
13 | from .filter_item import FilterItem
14 | from .filter_item_widget import (
15 | FilterItemWidget,
16 | SearchFilterItemWidget,
17 | ChoicesFilterItemWidget,
18 | )
19 |
20 | from .filter_menu import FilterMenu, ShotgunFilterMenu
21 | from .filter_menu_button import FilterMenuButton
22 |
23 | # List and tree proxy models to be used with the FilterMenu
24 | from .filter_item_proxy_model import FilterItemProxyModel
25 | from .filter_item_tree_proxy_model import FilterItemTreeProxyModel
26 |
--------------------------------------------------------------------------------
/python/global_search_completer/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2017 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 |
12 | import sgtk
13 |
14 | # Backward compatibility with the previous version of the API.
15 | search_completer = sgtk.platform.current_bundle().import_module("search_completer")
16 | GlobalSearchCompleter = search_completer.GlobalSearchCompleter
17 |
--------------------------------------------------------------------------------
/python/global_search_widget/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2017 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 |
12 | import sgtk
13 |
14 | shotgun_search_widget = sgtk.platform.current_bundle().import_module(
15 | "shotgun_search_widget"
16 | )
17 | GlobalSearchWidget = shotgun_search_widget.GlobalSearchWidget
18 |
--------------------------------------------------------------------------------
/python/help_screen/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2013 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | from .dialog import show_help_screen
12 |
--------------------------------------------------------------------------------
/python/help_screen/resources/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/help_screen/resources/bg.png
--------------------------------------------------------------------------------
/python/help_screen/resources/left_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/help_screen/resources/left_arrow.png
--------------------------------------------------------------------------------
/python/help_screen/resources/left_arrow_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/help_screen/resources/left_arrow_hover.png
--------------------------------------------------------------------------------
/python/help_screen/resources/left_arrow_pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/help_screen/resources/left_arrow_pressed.png
--------------------------------------------------------------------------------
/python/help_screen/resources/resources.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | bg.png
5 | right_arrow_hover.png
6 | right_arrow_pressed.png
7 | right_arrow.png
8 | left_arrow_hover.png
9 | left_arrow_pressed.png
10 | left_arrow.png
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/python/help_screen/resources/right_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/help_screen/resources/right_arrow.png
--------------------------------------------------------------------------------
/python/help_screen/resources/right_arrow_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/help_screen/resources/right_arrow_hover.png
--------------------------------------------------------------------------------
/python/help_screen/resources/right_arrow_pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/help_screen/resources/right_arrow_pressed.png
--------------------------------------------------------------------------------
/python/help_screen/ui/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2013 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 |
--------------------------------------------------------------------------------
/python/message_box/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2021 Autodesk, Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the ShotGrid Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the ShotGrid Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Autodesk, Inc.
10 |
11 | from .message_box import MessageBox
12 |
--------------------------------------------------------------------------------
/python/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | # Proxy model that allows for efficient hierarhcical filtering of a tree-based
12 | # source model
13 | from .hierarchical_filtering_proxy_model import HierarchicalFilteringProxyModel
14 | from .shotgun_sort_filter_proxy_model import ShotgunSortFilterProxyModel
15 |
--------------------------------------------------------------------------------
/python/navigation/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | from .navigation_widget import NavigationWidget
12 | from .breadcrumb_widget import BreadcrumbWidget, Breadcrumb
13 |
--------------------------------------------------------------------------------
/python/navigation/breadcrumb_widget.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | """
12 | Breadcrumb widget that displays a list of breadcrumbs. This is currently
13 | just a glorified label but could be extended later to support more
14 | interaction/features if needed.
15 | """
16 |
17 | import sgtk
18 | from sgtk.platform.qt import QtCore, QtGui
19 | from .ui.breadcrumb_widget import Ui_BreadcrumbWidget
20 |
21 |
22 | class Breadcrumb(object):
23 | """
24 | Base breadcrumb class that all breadcrumb instances
25 | should be derived from
26 | """
27 |
28 | def __init__(self, label):
29 | """
30 | Construction
31 |
32 | :param label: The label for this breadcrumb
33 | """
34 | self._label = label
35 |
36 | @property
37 | def label(self):
38 | """
39 | :returns: The label for this breadcrumb
40 | """
41 | return self._label
42 |
43 |
44 | class BreadcrumbWidget(QtGui.QWidget):
45 | """
46 | Implementation of the BreadcrumbWidget class
47 | """
48 |
49 | def __init__(self, parent=None):
50 | """
51 | :param parent: The parent QWidget for this control
52 | :type parent: :class:`~PySide.QtGui.QWidget`
53 | """
54 | QtGui.QWidget.__init__(self, parent)
55 |
56 | # set up the UI
57 | self._ui = Ui_BreadcrumbWidget()
58 | self._ui.setupUi(self)
59 |
60 | self._ui.path_label.elide_mode = QtCore.Qt.ElideLeft
61 | self._ui.path_label.setText("")
62 |
63 | def set(self, breadcrumbs):
64 | """
65 | Populate the breadcrumb control with a list of breadcrumbs
66 |
67 | :param breadcrumbs: A list of breadcrumbs. Each breadcrumb instance should derive
68 | from the Breadcrumb class
69 | :type breadcrumbs: list of :class:`Breadcrumb`
70 | """
71 | # build a single path from the list of crumbs:
72 | path = " ▸ ".join(
73 | [crumb.label for crumb in breadcrumbs]
74 | )
75 | path = "%s" % path
76 |
77 | # and update the label:
78 | self._ui.path_label.setText(path)
79 |
--------------------------------------------------------------------------------
/python/navigation/qtwidgets.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | """
12 | Wrapper for the various widgets used from frameworks so that they can be used
13 | easily from with Qt Designer
14 | """
15 |
16 | import sgtk
17 |
18 | elided_label = sgtk.platform.current_bundle().import_module("elided_label")
19 | ElidedLabel = elided_label.ElidedLabel
20 |
--------------------------------------------------------------------------------
/python/navigation/resources/breadcrumb_widget.ui:
--------------------------------------------------------------------------------
1 |
2 |
3 | BreadcrumbWidget
4 |
5 |
6 |
7 | 0
8 | 0
9 | 227
10 | 16
11 |
12 |
13 |
14 | Form
15 |
16 |
17 |
18 | 0
19 |
20 | -
21 |
22 |
23 |
24 | 0
25 | 0
26 |
27 |
28 |
29 | I <span style='color:#2C93E2'>▸</span> Am <span style='color:#2C93E2'>▸</span> Groot
30 |
31 |
32 |
33 | -
34 |
35 |
36 | Qt::Horizontal
37 |
38 |
39 | QSizePolicy::Ignored
40 |
41 |
42 |
43 | 0
44 | 0
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 | ElidedLabel
54 | QLabel
55 |
56 |
57 |
58 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/python/navigation/resources/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/navigation/resources/home.png
--------------------------------------------------------------------------------
/python/navigation/resources/home_disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/navigation/resources/home_disabled.png
--------------------------------------------------------------------------------
/python/navigation/resources/home_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/navigation/resources/home_hover.png
--------------------------------------------------------------------------------
/python/navigation/resources/home_pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/navigation/resources/home_pressed.png
--------------------------------------------------------------------------------
/python/navigation/resources/left_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/navigation/resources/left_arrow.png
--------------------------------------------------------------------------------
/python/navigation/resources/left_arrow_disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/navigation/resources/left_arrow_disabled.png
--------------------------------------------------------------------------------
/python/navigation/resources/left_arrow_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/navigation/resources/left_arrow_hover.png
--------------------------------------------------------------------------------
/python/navigation/resources/left_arrow_pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/navigation/resources/left_arrow_pressed.png
--------------------------------------------------------------------------------
/python/navigation/resources/resources.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | left_arrow_disabled.png
4 | left_arrow_hover.png
5 | left_arrow_pressed.png
6 | left_arrow.png
7 | right_arrow_disabled.png
8 | right_arrow_hover.png
9 | right_arrow_pressed.png
10 | right_arrow.png
11 | home_disabled.png
12 | home_hover.png
13 | home_pressed.png
14 | home.png
15 |
16 |
17 |
--------------------------------------------------------------------------------
/python/navigation/resources/right_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/navigation/resources/right_arrow.png
--------------------------------------------------------------------------------
/python/navigation/resources/right_arrow_disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/navigation/resources/right_arrow_disabled.png
--------------------------------------------------------------------------------
/python/navigation/resources/right_arrow_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/navigation/resources/right_arrow_hover.png
--------------------------------------------------------------------------------
/python/navigation/resources/right_arrow_pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/navigation/resources/right_arrow_pressed.png
--------------------------------------------------------------------------------
/python/navigation/ui/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2013 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 |
--------------------------------------------------------------------------------
/python/navigation/ui/breadcrumb_widget.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 |
3 | ################################################################################
4 | ## Form generated from reading UI file 'breadcrumb_widget.ui'
5 | ##
6 | ## Created by: Qt User Interface Compiler version 5.15.2
7 | ##
8 | ## WARNING! All changes made in this file will be lost when recompiling UI file!
9 | ################################################################################
10 |
11 | from tank.platform.qt import QtCore
12 | for name, cls in QtCore.__dict__.items():
13 | if isinstance(cls, type): globals()[name] = cls
14 |
15 | from tank.platform.qt import QtGui
16 | for name, cls in QtGui.__dict__.items():
17 | if isinstance(cls, type): globals()[name] = cls
18 |
19 |
20 | from ..qtwidgets import ElidedLabel
21 |
22 | class Ui_BreadcrumbWidget(object):
23 | def setupUi(self, BreadcrumbWidget):
24 | if not BreadcrumbWidget.objectName():
25 | BreadcrumbWidget.setObjectName(u"BreadcrumbWidget")
26 | BreadcrumbWidget.resize(227, 16)
27 | self.horizontalLayout = QHBoxLayout(BreadcrumbWidget)
28 | self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
29 | self.horizontalLayout.setObjectName(u"horizontalLayout")
30 | self.path_label = ElidedLabel(BreadcrumbWidget)
31 | self.path_label.setObjectName(u"path_label")
32 | sizePolicy = QSizePolicy(QSizePolicy.Ignored, QSizePolicy.Preferred)
33 | sizePolicy.setHorizontalStretch(0)
34 | sizePolicy.setVerticalStretch(0)
35 | sizePolicy.setHeightForWidth(self.path_label.sizePolicy().hasHeightForWidth())
36 | self.path_label.setSizePolicy(sizePolicy)
37 |
38 | self.horizontalLayout.addWidget(self.path_label)
39 |
40 | self.horizontalSpacer = QSpacerItem(0, 0, QSizePolicy.Ignored, QSizePolicy.Minimum)
41 |
42 | self.horizontalLayout.addItem(self.horizontalSpacer)
43 |
44 | self.retranslateUi(BreadcrumbWidget)
45 |
46 | QMetaObject.connectSlotsByName(BreadcrumbWidget)
47 | # setupUi
48 |
49 | def retranslateUi(self, BreadcrumbWidget):
50 | BreadcrumbWidget.setWindowTitle(QCoreApplication.translate("BreadcrumbWidget", u"Form", None))
51 | self.path_label.setText(QCoreApplication.translate("BreadcrumbWidget", u"I ▸ Am ▸ Groot", None))
52 | # retranslateUi
53 |
--------------------------------------------------------------------------------
/python/note_input_widget/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 |
12 | from .widget import NoteInputWidget
13 | from .dialog import NoteInputDialog
14 |
--------------------------------------------------------------------------------
/python/note_input_widget/dialog.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2016 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | from sgtk.platform.qt import QtCore, QtGui
12 | from . import NoteInputWidget
13 |
14 |
15 | class NoteInputDialog(QtGui.QDialog):
16 | """
17 | A dialog wrapper for the :class:`NoteInputWidget` widget.
18 | """
19 |
20 | def __init__(self, *args, **kwargs):
21 | """
22 | Constructor.
23 | """
24 | super().__init__(*args, **kwargs)
25 |
26 | self.setWindowFlags(self.windowFlags() | QtCore.Qt.FramelessWindowHint)
27 |
28 | self.widget = NoteInputWidget(None)
29 | self.layout = QtGui.QVBoxLayout()
30 | self.layout.setContentsMargins(3, 3, 3, 3)
31 | self.layout.addWidget(QtGui.QLabel("Please enter a new note:"))
32 | self.layout.addWidget(self.widget)
33 | self.setLayout(self.layout)
34 |
35 | self.widget.entity_created.connect(self.accept)
36 | self.widget.close_clicked.connect(self.reject)
37 |
38 | self.widget.open_editor()
39 |
40 | def __getattr__(self, name):
41 | return getattr(self.widget, name)
42 |
--------------------------------------------------------------------------------
/python/note_input_widget/resources/camera_hl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/note_input_widget/resources/camera_hl.png
--------------------------------------------------------------------------------
/python/note_input_widget/resources/minus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/note_input_widget/resources/minus.png
--------------------------------------------------------------------------------
/python/note_input_widget/resources/paper_clip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/note_input_widget/resources/paper_clip.png
--------------------------------------------------------------------------------
/python/note_input_widget/resources/plus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/note_input_widget/resources/plus.png
--------------------------------------------------------------------------------
/python/note_input_widget/resources/resources.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | minus.png
4 | plus.png
5 | paper_clip.png
6 | camera_hl.png
7 | trash.png
8 |
9 |
10 |
--------------------------------------------------------------------------------
/python/note_input_widget/resources/trash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/note_input_widget/resources/trash.png
--------------------------------------------------------------------------------
/python/note_input_widget/sg_qwidgets.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2024 Autodesk Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the ShotGrid Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the ShotGrid Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Autodesk Inc.
10 |
11 | import sgtk
12 |
13 | sg_qwidgets = sgtk.platform.current_bundle().import_module("sg_qwidgets")
14 | SGSubmitPushButton = sg_qwidgets.SGSubmitPushButton
15 | SGCancelPushButton = sg_qwidgets.SGCancelPushButton
16 |
--------------------------------------------------------------------------------
/python/note_input_widget/style.qss:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (c) 2015 Shotgun Software Inc.
3 |
4 | CONFIDENTIAL AND PROPRIETARY
5 |
6 | This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
7 | Source Code License included in this distribution package. See LICENSE.
8 | By accessing, using, copying or modifying this work you indicate your
9 | agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
10 | not expressly granted therein are reserved by Shotgun Software Inc.
11 | */
12 |
13 | #new_note_frame, #reply_frame {
14 | background-color: none;
15 | }
16 |
17 | #new_note_placeholder, #reply_placeholder {
18 | color: rgba(200, 200, 200, 50%);
19 | }
20 |
21 | #text_entry, #attachment_list_tree {
22 | background-color: rgba(0,0,0, 20%);
23 | border: 1px solid rgba(255,255,255, 20%);
24 | border-radius: 3px;
25 | }
26 |
27 | #new_note_frame {
28 | border: none;
29 | }
30 |
--------------------------------------------------------------------------------
/python/note_input_widget/ui/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 |
--------------------------------------------------------------------------------
/python/overlay_widget/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2013 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | from .shotgun_overlay_widget import ShotgunOverlayWidget
12 | from .shotgun_model_overlay_widget import ShotgunModelOverlayWidget
13 | from .shotgun_spinning_widget import ShotgunSpinningWidget
14 |
--------------------------------------------------------------------------------
/python/overlay_widget/resources/resources.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | sg_logo.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/python/overlay_widget/resources/sg_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/overlay_widget/resources/sg_logo.png
--------------------------------------------------------------------------------
/python/overlay_widget/style.qss:
--------------------------------------------------------------------------------
1 | background-color: #1B1B1B
2 |
--------------------------------------------------------------------------------
/python/overlay_widget/ui/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2013 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 |
--------------------------------------------------------------------------------
/python/playback_label/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 |
12 | from .playback_label import ShotgunPlaybackLabel
13 |
--------------------------------------------------------------------------------
/python/playback_label/resources/play_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/playback_label/resources/play_icon.png
--------------------------------------------------------------------------------
/python/playback_label/resources/play_icon_inactive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/playback_label/resources/play_icon_inactive.png
--------------------------------------------------------------------------------
/python/playback_label/resources/resources.graffle:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/playback_label/resources/resources.graffle
--------------------------------------------------------------------------------
/python/playback_label/resources/resources.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | play_icon.png
4 | play_icon_inactive.png
5 |
6 |
7 |
--------------------------------------------------------------------------------
/python/playback_label/ui/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 |
--------------------------------------------------------------------------------
/python/screen_grab/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 |
12 | from .screen_grab import (
13 | ScreenGrabber,
14 | get_desktop_pixmap,
15 | screen_capture,
16 | screen_capture_file,
17 | )
18 |
--------------------------------------------------------------------------------
/python/search_completer/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2016 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | from .global_search_completer import GlobalSearchCompleter
12 | from .hierarchical_search_completer import HierarchicalSearchCompleter
13 |
--------------------------------------------------------------------------------
/python/search_completer/resources/keyboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/search_completer/resources/keyboard.png
--------------------------------------------------------------------------------
/python/search_completer/resources/loading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/search_completer/resources/loading.png
--------------------------------------------------------------------------------
/python/search_completer/resources/modes.graffle:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/search_completer/resources/modes.graffle
--------------------------------------------------------------------------------
/python/search_completer/resources/no_match.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/search_completer/resources/no_match.png
--------------------------------------------------------------------------------
/python/search_completer/resources/no_thumbnail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/search_completer/resources/no_thumbnail.png
--------------------------------------------------------------------------------
/python/search_completer/resources/rect_512x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/search_completer/resources/rect_512x400.png
--------------------------------------------------------------------------------
/python/search_completer/resources/resources.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | rect_512x400.png
4 | keyboard.png
5 | loading.png
6 | no_match.png
7 | no_thumbnail.png
8 |
9 |
10 |
--------------------------------------------------------------------------------
/python/search_completer/ui/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 |
--------------------------------------------------------------------------------
/python/search_widget/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | from .search_widget import SearchWidget
12 |
--------------------------------------------------------------------------------
/python/search_widget/resources/clear_search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/search_widget/resources/clear_search.png
--------------------------------------------------------------------------------
/python/search_widget/resources/clear_search_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/search_widget/resources/clear_search_hover.png
--------------------------------------------------------------------------------
/python/search_widget/resources/resources.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | clear_search_hover.png
4 | clear_search.png
5 | search.png
6 |
7 |
8 |
--------------------------------------------------------------------------------
/python/search_widget/resources/search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/search_widget/resources/search.png
--------------------------------------------------------------------------------
/python/search_widget/resources/search_widget.ui:
--------------------------------------------------------------------------------
1 |
2 |
3 | SearchWidget
4 |
5 |
6 |
7 | 0
8 | 0
9 | 312
10 | 24
11 |
12 |
13 |
14 | Form
15 |
16 |
17 |
18 | 0
19 |
20 |
21 | 0
22 |
23 | -
24 |
25 |
26 |
27 | 0
28 | 24
29 |
30 |
31 |
32 | #search_edit {
33 | background-image: url(:/tk-framework-qtwidgets/search_widget/search.png);
34 | background-repeat: no-repeat;
35 | background-position: center left;
36 | border-radius: 5px;
37 | padding-left:20px;
38 | padding-right:20px;
39 | }
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/python/search_widget/ui/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2013 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 |
--------------------------------------------------------------------------------
/python/search_widget/ui/search_widget.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 |
3 | ################################################################################
4 | ## Form generated from reading UI file 'search_widget.ui'
5 | ##
6 | ## Created by: Qt User Interface Compiler version 5.15.2
7 | ##
8 | ## WARNING! All changes made in this file will be lost when recompiling UI file!
9 | ################################################################################
10 |
11 | from tank.platform.qt import QtCore
12 | for name, cls in QtCore.__dict__.items():
13 | if isinstance(cls, type): globals()[name] = cls
14 |
15 | from tank.platform.qt import QtGui
16 | for name, cls in QtGui.__dict__.items():
17 | if isinstance(cls, type): globals()[name] = cls
18 |
19 |
20 | from . import resources_rc
21 |
22 | class Ui_SearchWidget(object):
23 | def setupUi(self, SearchWidget):
24 | if not SearchWidget.objectName():
25 | SearchWidget.setObjectName(u"SearchWidget")
26 | SearchWidget.resize(312, 24)
27 | self.horizontalLayout = QHBoxLayout(SearchWidget)
28 | self.horizontalLayout.setSpacing(0)
29 | self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
30 | self.horizontalLayout.setObjectName(u"horizontalLayout")
31 | self.search_edit = QLineEdit(SearchWidget)
32 | self.search_edit.setObjectName(u"search_edit")
33 | self.search_edit.setMinimumSize(QSize(0, 24))
34 | self.search_edit.setStyleSheet(u"#search_edit {\n"
35 | "background-image: url(:/tk-framework-qtwidgets/search_widget/search.png);\n"
36 | "background-repeat: no-repeat;\n"
37 | "background-position: center left;\n"
38 | "border-radius: 5px;\n"
39 | "padding-left:20px;\n"
40 | "padding-right:20px;\n"
41 | "}")
42 |
43 | self.horizontalLayout.addWidget(self.search_edit)
44 |
45 | self.horizontalLayout.setStretch(0, 1)
46 |
47 | self.retranslateUi(SearchWidget)
48 |
49 | QMetaObject.connectSlotsByName(SearchWidget)
50 | # setupUi
51 |
52 | def retranslateUi(self, SearchWidget):
53 | SearchWidget.setWindowTitle(QCoreApplication.translate("SearchWidget", u"Form", None))
54 | # retranslateUi
55 |
--------------------------------------------------------------------------------
/python/sg_qicons/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2021 Autodesk, Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the ShotGrid Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the ShotGrid Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Autodesk, Inc.
10 |
11 | from .sg_qicon import SGQIcon
12 |
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/bullet_active_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/bullet_active_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/bullet_inactive_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/bullet_inactive_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/check_mark_green_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/check_mark_green_16x16.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/check_mark_green_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/check_mark_green_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/check_mark_green_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/check_mark_green_32x32.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/check_mark_green_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/check_mark_green_40x40.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/check_mark_red_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/check_mark_red_16x16.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/check_mark_red_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/check_mark_red_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/check_mark_red_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/check_mark_red_32x32.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/filter-active-disabled_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/filter-active-disabled_16x16.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/filter-active-disabled_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/filter-active-disabled_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/filter-active-disabled_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/filter-active-disabled_32x32.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/filter-active-disabled_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/filter-active-disabled_40x40.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/filter-active_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/filter-active_16x16.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/filter-active_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/filter-active_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/filter-active_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/filter-active_32x32.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/filter-active_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/filter-active_40x40.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/filter-inactive-disabled_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/filter-inactive-disabled_16x16.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/filter-inactive-disabled_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/filter-inactive-disabled_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/filter-inactive-disabled_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/filter-inactive-disabled_32x32.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/filter-inactive-disabled_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/filter-inactive-disabled_40x40.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/filter-inactive_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/filter-inactive_16x16.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/filter-inactive_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/filter-inactive_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/filter-inactive_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/filter-inactive_32x32.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/filter-inactive_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/filter-inactive_40x40.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/gear_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/gear_16x16.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/gear_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/gear_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/gear_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/gear_32x32.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/gear_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/gear_40x40.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/info_active_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/info_active_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/info_active_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/info_active_40x40.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/info_inactive_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/info_inactive_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/info_inactive_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/info_inactive_40x40.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/lock_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/lock_16x16.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/lock_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/lock_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/lock_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/lock_32x32.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/lock_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/lock_40x40.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh-active-disabled_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh-active-disabled_16x16.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh-active-disabled_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh-active-disabled_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh-active-disabled_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh-active-disabled_32x32.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh-active-disabled_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh-active-disabled_40x40.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh-active_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh-active_16x16.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh-active_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh-active_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh-active_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh-active_32x32.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh-active_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh-active_40x40.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh-inactive-disabled_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh-inactive-disabled_16x16.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh-inactive-disabled_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh-inactive-disabled_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh-inactive-disabled_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh-inactive-disabled_32x32.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh-inactive-disabled_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh-inactive-disabled_40x40.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh-inactive_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh-inactive_16x16.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh-inactive_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh-inactive_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh-inactive_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh-inactive_32x32.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh-inactive_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh-inactive_40x40.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh_16x16.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh_32x32.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh_40x40.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh_grey_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh_grey_16x16.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh_grey_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh_grey_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh_grey_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh_grey_32x32.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh_grey_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh_grey_40x40.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh_red_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh_red_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/refresh_red_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/refresh_red_40x40.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/spinning-wheel_16x16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/spinning-wheel_16x16.gif
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/spinning-wheel_20x20.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/spinning-wheel_20x20.gif
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/spinning-wheel_32x32.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/spinning-wheel_32x32.gif
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/spinning-wheel_40x40.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/spinning-wheel_40x40.gif
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/toggle_active_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/toggle_active_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/toggle_active_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/toggle_active_32x32.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/toggle_inactive_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/toggle_inactive_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/toggle_inactive_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/toggle_inactive_32x32.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/tree_arrow_collapsed_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/tree_arrow_collapsed_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/tree_arrow_expanded_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/tree_arrow_expanded_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/validation_error_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/validation_error_16x16.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/validation_error_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/validation_error_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/validation_error_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/validation_error_32x32.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/validation_ok_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/validation_ok_16x16.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/validation_ok_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/validation_ok_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/validation_ok_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/validation_ok_32x32.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/validation_ok_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/validation_ok_40x40.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/validation_warning_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/validation_warning_16x16.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/validation_warning_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/validation_warning_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/validation_warning_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/validation_warning_32x32.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/view_grid_active_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/view_grid_active_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/view_grid_active_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/view_grid_active_40x40.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/view_grid_inactive_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/view_grid_inactive_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/view_grid_inactive_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/view_grid_inactive_40x40.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/view_list_active_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/view_list_active_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/view_list_inactive_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/view_list_inactive_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/view_thumbnail_active_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/view_thumbnail_active_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/resources/icons/view_thumbnail_inactive_20x20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/sg_qicons/resources/icons/view_thumbnail_inactive_20x20.png
--------------------------------------------------------------------------------
/python/sg_qicons/ui/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2021 Autodesk Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the ShotGrid Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the ShotGrid Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Autodesk Inc.
10 |
11 |
--------------------------------------------------------------------------------
/python/sg_qwidgets/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2021 Autodesk, Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the ShotGrid Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the ShotGrid Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Autodesk, Inc.
10 |
11 | from .sg_qwidgets import (
12 | SGQToolButton,
13 | SGQWidget,
14 | SGQCheckBox,
15 | SGQComboBox,
16 | SGQCommandLinkButton,
17 | SGQDateEdit,
18 | SGQDateTimeEdit,
19 | SGQDial,
20 | SGQDoubleSpinBox,
21 | SGQFocusFrame,
22 | SGQFontComboBox,
23 | SGQLCDNumber,
24 | SGQLabel,
25 | SGQLineEdit,
26 | SGQTextEdit,
27 | SGQMenu,
28 | SGQProgressBar,
29 | SGQPushButton,
30 | SGSubmitPushButton,
31 | SGCancelPushButton,
32 | SGQRadioButton,
33 | SGQScrollArea,
34 | SGQScrollBar,
35 | SGQSizeGrip,
36 | SGQSlider,
37 | SGQSpinBox,
38 | SGQTabBar,
39 | SGQTabWidget,
40 | SGQTimeEdit,
41 | SGQToolBox,
42 | SGQCalendarWidget,
43 | SGQColumnView,
44 | SGQDataWidgetMapper,
45 | SGQListView,
46 | SGQTableView,
47 | SGQTreeView,
48 | SGQUndoView,
49 | SGQDialog,
50 | SGQDockWidget,
51 | SGQFrame,
52 | SGQButtonGroup,
53 | SGQGroupBox,
54 | SGQSplitter,
55 | SGQSplitterHandle,
56 | SGQStackedWidget,
57 | SGQActionGroup,
58 | SGQMenuBar,
59 | SGQStatusBar,
60 | SGQWidgetAction,
61 | SGQToolBar,
62 | SGQListWidget,
63 | SGQListWidgetItem,
64 | SGQTableWidget,
65 | SGQTableWidgetItem,
66 | SGQTreeWidget,
67 | SGQTreeWidgetItem,
68 | )
69 |
--------------------------------------------------------------------------------
/python/shotgun_fields/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2016 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | from .shotgun_field_manager import ShotgunFieldManager
12 | from .shotgun_field_meta import ShotgunFieldMeta
13 |
--------------------------------------------------------------------------------
/python/shotgun_fields/checkbox_widget.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2016 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | from sgtk.platform.qt import QtCore, QtGui
12 | from .shotgun_field_meta import ShotgunFieldMeta
13 |
14 |
15 | class CheckBoxWidget(QtGui.QCheckBox, metaclass=ShotgunFieldMeta):
16 | """
17 | Displays a ``checkbox`` field value as returned by the Shotgun API.
18 | """
19 |
20 | _DISPLAY_TYPE = "checkbox"
21 | _EDITOR_TYPE = "checkbox"
22 |
23 | def enable_editing(self, enable):
24 | """
25 | Enable or disable editing of the widget.
26 |
27 | This is provided as required for widgets that are used as both editor
28 | and display.
29 |
30 | :param bool enable: ``True`` to enable, ``False`` to disable
31 | """
32 | self.setEnabled(enable)
33 |
34 | def setup_widget(self):
35 | """
36 | Prepare the widget for display.
37 |
38 | Called by the metaclass during initialization.
39 | """
40 | self.stateChanged.connect(self._on_state_changed)
41 |
42 | def _display_default(self):
43 | """
44 | Display the default value of the widget.
45 | """
46 | self.setCheckState(QtCore.Qt.Unchecked)
47 |
48 | def _display_value(self, value):
49 | """
50 | Displays the value as returned by the Shotgun API.
51 |
52 | :param bool value: The value displayed by the widget
53 | """
54 |
55 | # check or uncheck the widget
56 | if bool(value):
57 | self.setCheckState(QtCore.Qt.Checked)
58 | else:
59 | self.setCheckState(QtCore.Qt.Unchecked)
60 |
61 | def _on_state_changed(self, state):
62 | """
63 | Update the stored value as the widget state is changed
64 |
65 | :param int state: Qt enum for check/unchecked
66 | """
67 | if not isinstance(state, QtCore.Qt.CheckState):
68 | # Pyside6 docs says `state` is still an int.
69 | # https://doc.qt.io/qtforpython-6.5/PySide6/QtWidgets/QCheckBox.html
70 | # However, it seems they're migrating to use Enums everywhere.
71 | # Let's convert use the value to create a QtCore.Qt.CheckState enum.
72 | state = QtCore.Qt.CheckState(state)
73 |
74 | new_value = state == QtCore.Qt.Checked
75 | if self._value != new_value:
76 | # set the value internally
77 | self.set_value(new_value)
78 |
--------------------------------------------------------------------------------
/python/shotgun_fields/duration_widget.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2016 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | from .label_base_widget import LabelBaseWidget
12 | from .shotgun_field_meta import ShotgunFieldMeta
13 |
14 |
15 | class DurationWidget(LabelBaseWidget, metaclass=ShotgunFieldMeta):
16 | """
17 | Display a ``duration`` field value as returned by the Shotgun API.
18 | """
19 |
20 | _DISPLAY_TYPE = "duration"
21 |
--------------------------------------------------------------------------------
/python/shotgun_fields/list_widget.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2016 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | import sgtk
12 | from sgtk.platform.qt import QtGui, QtCore
13 | from .label_base_widget import LabelBaseWidget
14 | from .shotgun_field_meta import ShotgunFieldMeta
15 |
16 | shotgun_globals = sgtk.platform.import_framework(
17 | "tk-framework-shotgunutils", "shotgun_globals"
18 | )
19 |
20 |
21 | class ListWidget(LabelBaseWidget, metaclass=ShotgunFieldMeta):
22 | """
23 | Display a ``list`` field value as returned by the Shotgun API.
24 | """
25 |
26 | _DISPLAY_TYPE = "list"
27 |
28 |
29 | class ListEditorWidget(QtGui.QComboBox, metaclass=ShotgunFieldMeta):
30 | """
31 | Allows editing of a ``list`` field value as returned by the Shotgun API.
32 | """
33 |
34 | _EDITOR_TYPE = "list"
35 | _IMMEDIATE_APPLY = True
36 |
37 | def get_value(self):
38 | """
39 | :return: The internal value being displayed by the widget.
40 | """
41 | return self._get_safe_str(self.currentText())
42 |
43 | def setup_widget(self):
44 | """
45 | Prepare the widget for display.
46 |
47 | Called by the metaclass during initialization. Adds the valid values to
48 | the list and connects the ``activated`` signal.
49 | """
50 | self.addItem("")
51 |
52 | valid_values = shotgun_globals.get_valid_values(
53 | self._entity_type, self._field_name
54 | )
55 | self.addItems(valid_values)
56 |
57 | self.activated.connect(lambda i: self.value_changed.emit())
58 |
59 | def _begin_edit(self):
60 | """
61 | Prepare the widget for editing by showing the popup.
62 | """
63 | self.showPopup()
64 |
65 | def _display_default(self):
66 | """
67 | Display the default value of the widget.
68 | """
69 | self.setCurrentIndex(0)
70 |
71 | def _display_value(self, value):
72 | """
73 | Set the value displayed by the widget.
74 |
75 | :param value: The value returned by the Shotgun API to be displayed
76 | """
77 | if value is None:
78 | self.clearEditText()
79 |
80 | index = self.findText(value)
81 | if index != -1:
82 | self.setCurrentIndex(index)
83 |
--------------------------------------------------------------------------------
/python/shotgun_fields/number_widget.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2016 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | import locale
12 | from sgtk.platform.qt import QtGui, QtCore
13 | from .label_base_widget import LabelBaseWidget
14 | from .shotgun_field_meta import ShotgunFieldMeta
15 |
16 |
17 | class NumberWidget(LabelBaseWidget, metaclass=ShotgunFieldMeta):
18 | """
19 | Display a ``number`` field value as returned by the Shotgun API.
20 | """
21 |
22 | _DISPLAY_TYPE = "number"
23 |
24 | def _string_value(self, value):
25 | """
26 | Convert the Shotgun value for this field into a string
27 |
28 | :param int value: The value to convert into a string
29 | """
30 | return locale.format("%d", value, grouping=True)
31 |
32 |
33 | class NumberEditorWidget(QtGui.QSpinBox, metaclass=ShotgunFieldMeta):
34 | """
35 | Allows editing of a ``number`` field value as returned by the Shotgun API.
36 |
37 | Pressing ``Enter`` or ``Return`` when the widget has focus will cause the
38 | value to be applied and the ``value_changed`` signal to be emitted.
39 | """
40 |
41 | _EDITOR_TYPE = "number"
42 |
43 | def get_value(self):
44 | """
45 | :return: The internal value being displayed by the widget.
46 | """
47 | return self.value()
48 |
49 | def keyPressEvent(self, event):
50 | """
51 | Provides shortcuts for applying modified values.
52 |
53 | :param event: The key press event object
54 | :type event: :class:`~PySide.QtGui.QKeyEvent`
55 | """
56 | if event.key() in [QtCore.Qt.Key_Enter, QtCore.Qt.Key_Return]:
57 | self.value_changed.emit()
58 | else:
59 | super().keyPressEvent(event)
60 |
61 | def setup_widget(self):
62 | """
63 | Prepare the widget for display.
64 |
65 | Called by the metaclass during initialization.
66 | """
67 | # Qt Spinner's max/min are int32 max/min values
68 | self.setMaximum(2147483647)
69 | self.setMinimum(-2147483648)
70 | self.setMinimumWidth(100)
71 |
72 | def _display_default(self):
73 | """
74 | Display the default value of the widget.
75 | """
76 | self.clear()
77 |
78 | def _display_value(self, value):
79 | """
80 | Set the value displayed by the widget.
81 |
82 | :param value: The value returned by the Shotgun API to be displayed
83 | """
84 | self.setValue(value)
85 |
--------------------------------------------------------------------------------
/python/shotgun_fields/resources/apply_value.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/shotgun_fields/resources/apply_value.png
--------------------------------------------------------------------------------
/python/shotgun_fields/resources/edit_close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/shotgun_fields/resources/edit_close.png
--------------------------------------------------------------------------------
/python/shotgun_fields/resources/edit_field.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/shotgun_fields/resources/edit_field.png
--------------------------------------------------------------------------------
/python/shotgun_fields/resources/image_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/shotgun_fields/resources/image_menu.png
--------------------------------------------------------------------------------
/python/shotgun_fields/resources/link_local.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/shotgun_fields/resources/link_local.png
--------------------------------------------------------------------------------
/python/shotgun_fields/resources/link_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/shotgun_fields/resources/link_menu.png
--------------------------------------------------------------------------------
/python/shotgun_fields/resources/link_upload.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/shotgun_fields/resources/link_upload.png
--------------------------------------------------------------------------------
/python/shotgun_fields/resources/link_web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/shotgun_fields/resources/link_web.png
--------------------------------------------------------------------------------
/python/shotgun_fields/resources/no_thumbnail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/shotgun_fields/resources/no_thumbnail.png
--------------------------------------------------------------------------------
/python/shotgun_fields/resources/not_editable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/shotgun_fields/resources/not_editable.png
--------------------------------------------------------------------------------
/python/shotgun_fields/resources/resources.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | apply_value.png
4 | edit_close.png
5 | edit_field.png
6 | image_menu.png
7 | link_local.png
8 | link_menu.png
9 | link_upload.png
10 | link_web.png
11 | no_thumbnail.png
12 | not_editable.png
13 | tag.png
14 |
15 |
16 |
--------------------------------------------------------------------------------
/python/shotgun_fields/resources/tag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/shotgun_fields/resources/tag.png
--------------------------------------------------------------------------------
/python/shotgun_fields/text_widget.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2016 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | from .label_base_widget import ElidedLabelBaseWidget
12 | from .shotgun_field_meta import ShotgunFieldMeta
13 | from sgtk.platform.qt import QtCore, QtGui
14 |
15 |
16 | class TextWidget(ElidedLabelBaseWidget, metaclass=ShotgunFieldMeta):
17 | """
18 | Display a ``text`` field value as returned by the Shotgun API.
19 | """
20 |
21 | _DISPLAY_TYPE = "text"
22 |
23 |
24 | class TextEditorWidget(QtGui.QTextEdit, metaclass=ShotgunFieldMeta):
25 | """
26 | Allows editing of a ``text`` field value as returned by the Shotgun API.
27 | """
28 |
29 | _EDITOR_TYPE = "text"
30 |
31 | def get_value(self):
32 | """
33 | :return: The internal value being displayed by the widget.
34 | """
35 | return self._get_safe_str(self.toPlainText())
36 |
37 | def keyPressEvent(self, event):
38 | """
39 | Provides shortcuts for applying modified values.
40 |
41 | :param event: The key press event object
42 | :type event: :class:`~PySide.QtGui.QKeyEvent`
43 |
44 | Ctrl+Enter or Ctrl+Return will trigger the emission of the ``value_changed``
45 | signal.
46 | """
47 | if (
48 | event.key() in [QtCore.Qt.Key_Enter, QtCore.Qt.Key_Return]
49 | and event.modifiers() & QtCore.Qt.ControlModifier
50 | ):
51 | self.value_changed.emit()
52 | event.ignore()
53 | return
54 |
55 | super().keyPressEvent(event)
56 |
57 | def setup_widget(self):
58 | """
59 | Prepare the widget for display.
60 |
61 | Called by the metaclass during initialization.
62 | """
63 | self.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
64 |
65 | def _display_default(self):
66 | """
67 | Display the default value of the widget.
68 | """
69 | self.clear()
70 |
71 | def _display_value(self, value):
72 | """
73 | Set the value displayed by the widget.
74 |
75 | :param value: The value returned by the Shotgun API to be displayed
76 | """
77 | self.setText(self._string_value(value))
78 |
79 | def _string_value(self, value):
80 | """
81 | Ensure the value to be displayed is a string.
82 |
83 | :param value: The value from Shotgun
84 | """
85 | return str(value)
86 |
--------------------------------------------------------------------------------
/python/shotgun_fields/timecode_widget.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2016 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | from .label_base_widget import LabelBaseWidget
12 | from .shotgun_field_meta import ShotgunFieldMeta
13 |
14 |
15 | class TimecodeWidget(LabelBaseWidget, metaclass=ShotgunFieldMeta):
16 | """
17 | Display a ``timecode`` field value as returned by the Shotgun API.
18 | """
19 |
20 | _DISPLAY_TYPE = "timecode"
21 |
--------------------------------------------------------------------------------
/python/shotgun_fields/ui/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2013 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 |
--------------------------------------------------------------------------------
/python/shotgun_fields/url_template_widget.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2016 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | import sgtk
12 | from .label_base_widget import ElidedLabelBaseWidget
13 | from .shotgun_field_meta import ShotgunFieldMeta
14 |
15 |
16 | class UrlTemplateWidget(ElidedLabelBaseWidget, metaclass=ShotgunFieldMeta):
17 | """
18 | Display a ``url_template`` field value as returned by the Shotgun API.
19 | """
20 |
21 | _DISPLAY_TYPE = "url_template"
22 |
23 | def _string_value(self, value):
24 | """
25 | Convert the Shotgun value for this field into a string
26 |
27 | :param str value: The url value to convert into a string
28 | """
29 | utils = self._bundle.import_module("utils")
30 | return utils.get_hyperlink_html(url=value, name=value)
31 |
--------------------------------------------------------------------------------
/python/shotgun_fields/util.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2016 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 |
12 | def check_project_search_supported(sg_connection):
13 | """
14 | A compatibility check to see if the current version of PTR has the fix
15 | that allows text_search to be run for projects.
16 |
17 | :returns: ``True`` if project search is possible, ``False`` otherwise.
18 |
19 |
20 | .. warning::
21 |
22 | This method is not part of the public API. It will be removed without
23 | warning in the future.
24 | """
25 |
26 | server_caps = sg_connection.server_caps
27 |
28 | # make sure we're greater than or equal to PTR v7.0.2
29 | return (
30 | hasattr(sg_connection, "server_caps")
31 | and server_caps.version
32 | and server_caps.version >= (7, 0, 2)
33 | )
34 |
--------------------------------------------------------------------------------
/python/shotgun_menus/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2016 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | from .entity_field_menu import EntityFieldMenu
12 | from .shotgun_menu import ShotgunMenu
13 |
--------------------------------------------------------------------------------
/python/shotgun_menus/resources/check.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/shotgun_menus/resources/check.png
--------------------------------------------------------------------------------
/python/shotgun_menus/resources/resources.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | check.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/python/shotgun_menus/ui/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 |
--------------------------------------------------------------------------------
/python/shotgun_menus/ui/resources_rc.py:
--------------------------------------------------------------------------------
1 | # Resource object code (Python 3)
2 | # Created by: object code
3 | # Created by: The Resource Compiler for Qt version 5.15.2
4 | # WARNING! All changes made in this file will be lost!
5 |
6 | from tank.platform.qt import QtCore
7 |
8 | qt_resource_data = b"\
9 | \x00\x00\x01q\
10 | \x89\
11 | PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
12 | \x00\x00\x0c\x00\x00\x00\x0c\x08\x04\x00\x00\x00\xfc|\x94l\
13 | \x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\
14 | \x00\x00\x00 cHRM\x00\x00z&\x00\x00\x80\x84\
15 | \x00\x00\xfa\x00\x00\x00\x80\xe8\x00\x00u0\x00\x00\xea`\
16 | \x00\x00:\x98\x00\x00\x17p\x9c\xbaQ<\x00\x00\x00\x02\
17 | bKGD\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09pH\
18 | Ys\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\x00\
19 | \x00\x00\x07tIME\x07\xe3\x0a\x1e\x123'\xe8\xb1\
20 | \x5c\xc4\x00\x00\x00dIDAT\x18\xd3u\xd0\xb1\x0d\
21 | \x800\x0cD\xd1o\xc4\x00\x19\x85\x8e\x1661\x1b\xb0\
22 | QX\xe7h\x18\xc9\x14 \x22\x02q\xf9N\xb2|\xb6\
23 | \xa01\x7f\x81\x12X`5g\x06\xe6\x9e/;0\x11\
24 | (i-\xacP\xc8\x81@\x87B\xb9b,\xd8\x9d\x0c\
25 | l\x80\x03\xcb\xb8\xdd\x81\xa1+\xa2\xf0s\xae\xbc,\xa9\
26 | z\xc8_\x8c\xb5\x9aw\xad\x8f\x9c\xd0T1\x0f\xb3A\
27 | '>\x00\x00\x00%tEXtdate:c\
28 | reate\x002019-10-07\
29 | T12:39:04+00:00 \
30 | g\xe3\xd9\x00\x00\x00%tEXtdate:\
31 | modify\x002019-10-0\
32 | 7T12:39:04+00:00\
33 | Q:[e\x00\x00\x00\x00IEND\xaeB`\x82\
34 | \
35 | "
36 |
37 | qt_resource_name = b"\
38 | \x00$\
39 | \x06\x906\x03\
40 | \x00t\
41 | \x00k\x00_\x00f\x00r\x00a\x00m\x00e\x00w\x00o\x00r\x00k\x00_\x00q\x00t\x00w\x00i\
42 | \x00d\x00g\x00e\x00t\x00s\x00.\x00s\x00h\x00o\x00t\x00g\x00u\x00n\x00_\x00m\x00e\
43 | \x00n\x00u\x00s\
44 | \x00\x09\
45 | \x0b\x9e\x84\x87\
46 | \x00c\
47 | \x00h\x00e\x00c\x00k\x00.\x00p\x00n\x00g\
48 | "
49 |
50 | qt_resource_struct = b"\
51 | \x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\
52 | \x00\x00\x00\x00\x00\x00\x00\x00\
53 | \x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\
54 | \x00\x00\x00\x00\x00\x00\x00\x00\
55 | \x00\x00\x00N\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
56 | \x00\x00\x01\x8f0\xbc\xb31\
57 | "
58 |
59 | def qInitResources():
60 | QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data)
61 |
62 | def qCleanupResources():
63 | QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data)
64 |
65 | qInitResources()
66 |
--------------------------------------------------------------------------------
/python/shotgun_search_widget/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 |
12 | from .hierarchical_search_widget import HierarchicalSearchWidget
13 | from .global_search_widget import GlobalSearchWidget
14 |
--------------------------------------------------------------------------------
/python/shotgun_search_widget/search_style.qss:
--------------------------------------------------------------------------------
1 | QPushButton {
2 | border: 0px solid;
3 | image: url(:/tk-framework-qtwidgets/search_widget/clear_search.png);
4 | width: 16;
5 | height: 16;
6 | }
7 | QPushButton::hover {
8 | image: url(:/tk-framework-qtwidgets/search_widget/clear_search_hover.png);
9 | }
10 |
--------------------------------------------------------------------------------
/python/shotgun_widget/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2020 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | from .shotgun_widget import ShotgunWidget
12 | from .shotgun_list_widget import ShotgunListWidget
13 | from .shotgun_folder_widget import ShotgunFolderWidget
14 |
--------------------------------------------------------------------------------
/python/shotgun_widget/resources/rect_512x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/shotgun_widget/resources/rect_512x400.png
--------------------------------------------------------------------------------
/python/shotgun_widget/resources/resources.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | rect_512x400.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/python/shotgun_widget/ui/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2020 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
--------------------------------------------------------------------------------
/python/spinner_widget/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | from .spinner_widget import SpinnerWidget
12 |
--------------------------------------------------------------------------------
/python/version_details/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2016 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | from .version_details import VersionDetailsWidget
12 |
--------------------------------------------------------------------------------
/python/version_details/qtwidgets.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | """
12 | Wrapper for the various widgets used from frameworks so that they can be used
13 | easily from with Qt Designer
14 | """
15 |
16 | import sgtk
17 |
18 | search_widget = sgtk.platform.current_bundle().import_module("search_widget")
19 | SearchWidget = search_widget.SearchWidget
20 |
21 | activity_stream = sgtk.platform.current_bundle().import_module("activity_stream")
22 | ActivityStreamWidget = activity_stream.ActivityStreamWidget
23 |
24 | from .shotgun_entities import ShotgunEntityCardWidget, ShotgunEntityCardDelegate
25 |
26 | shotgun_fields = sgtk.platform.current_bundle().import_module("shotgun_fields")
27 | ShotgunFieldManager = shotgun_fields.ShotgunFieldManager
28 |
29 | shotgun_menus = sgtk.platform.current_bundle().import_module("shotgun_menus")
30 | EntityFieldMenu = shotgun_menus.EntityFieldMenu
31 | ShotgunMenu = shotgun_menus.ShotgunMenu
32 |
33 | models = sgtk.platform.current_bundle().import_module("models")
34 | ShotgunSortFilterProxyModel = models.ShotgunSortFilterProxyModel
35 |
36 | from .simple_tooltip_model import SimpleTooltipModel
37 |
--------------------------------------------------------------------------------
/python/version_details/resources/arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/arrow.png
--------------------------------------------------------------------------------
/python/version_details/resources/blank.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/blank.png
--------------------------------------------------------------------------------
/python/version_details/resources/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/close.png
--------------------------------------------------------------------------------
/python/version_details/resources/close_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/close_hover.png
--------------------------------------------------------------------------------
/python/version_details/resources/dock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/dock.png
--------------------------------------------------------------------------------
/python/version_details/resources/dock_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/dock_hover.png
--------------------------------------------------------------------------------
/python/version_details/resources/icon_player_cut_action_small_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/icon_player_cut_action_small_active.png
--------------------------------------------------------------------------------
/python/version_details/resources/icon_player_cut_action_small_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/icon_player_cut_action_small_dark.png
--------------------------------------------------------------------------------
/python/version_details/resources/navigate_out.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/navigate_out.png
--------------------------------------------------------------------------------
/python/version_details/resources/navigate_out_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/navigate_out_hover.png
--------------------------------------------------------------------------------
/python/version_details/resources/panel_empty_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/panel_empty_background.png
--------------------------------------------------------------------------------
/python/version_details/resources/resources.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | right_arrow_large.png
4 | right_arrow.png
5 | right_arrow_white.png
6 | panel_empty_background.png
7 | dock.png
8 | dock_hover.png
9 | sort_down_on.png
10 | sort_up_on.png
11 | sort_down.png
12 | sort_up.png
13 | arrow.png
14 | blank.png
15 | close.png
16 | close_hover.png
17 | icon_player_cut_action_small_active.png
18 | icon_player_cut_action_small_dark.png
19 | navigate_out.png
20 | navigate_out_hover.png
21 | tack_hover.png
22 | tack_up.png
23 | undock.png
24 | undock_hover.png
25 |
26 |
27 |
--------------------------------------------------------------------------------
/python/version_details/resources/right_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/right_arrow.png
--------------------------------------------------------------------------------
/python/version_details/resources/right_arrow_large.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/right_arrow_large.png
--------------------------------------------------------------------------------
/python/version_details/resources/right_arrow_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/right_arrow_white.png
--------------------------------------------------------------------------------
/python/version_details/resources/sort_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/sort_down.png
--------------------------------------------------------------------------------
/python/version_details/resources/sort_down_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/sort_down_on.png
--------------------------------------------------------------------------------
/python/version_details/resources/sort_up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/sort_up.png
--------------------------------------------------------------------------------
/python/version_details/resources/sort_up_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/sort_up_on.png
--------------------------------------------------------------------------------
/python/version_details/resources/tack_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/tack_hover.png
--------------------------------------------------------------------------------
/python/version_details/resources/tack_up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/tack_up.png
--------------------------------------------------------------------------------
/python/version_details/resources/undock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/undock.png
--------------------------------------------------------------------------------
/python/version_details/resources/undock_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/python/version_details/resources/undock_hover.png
--------------------------------------------------------------------------------
/python/version_details/shotgun_entities/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2016 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | from .card_widget import ShotgunEntityCardWidget
12 | from .card_delegate import ShotgunEntityCardDelegate
13 |
--------------------------------------------------------------------------------
/python/version_details/shotgun_entities/ui/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2016 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
--------------------------------------------------------------------------------
/python/version_details/simple_tooltip_model.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2016 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | import sgtk
12 |
13 | shotgun_model = sgtk.platform.import_framework(
14 | "tk-framework-shotgunutils", "shotgun_model"
15 | )
16 |
17 |
18 | class SimpleTooltipModel(shotgun_model.SimpleShotgunModel):
19 | """
20 | A Shotgun model that sets simple tooltips for Shotgun entities.
21 | """
22 |
23 | def _set_tooltip(self, item, sg_item):
24 | """
25 | Sets the tooltip of the given item.
26 |
27 | :param item: Shotgun model item that requires a tooltip.
28 | :param sg_item: Dictionary of the entity associated with the Shotgun
29 | model item.
30 | """
31 | item.setToolTip(
32 | "%s: %s"
33 | % (
34 | sg_item.get("type", "Entity Type Unknown"),
35 | sg_item.get("code", "Entity Name Unknown"),
36 | )
37 | )
38 |
--------------------------------------------------------------------------------
/python/version_details/style.qss:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (c) 2015 Shotgun Software Inc.
3 |
4 | CONFIDENTIAL AND PROPRIETARY
5 |
6 | This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
7 | Source Code License included in this distribution package. See LICENSE.
8 | By accessing, using, copying or modifying this work you indicate your
9 | agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
10 | not expressly granted therein are reserved by Shotgun Software Inc.
11 | */
12 |
13 | QTabBar {
14 | border: none;
15 | alignment: center;
16 | margin: 4px;
17 | color: rgb(126,127,129);
18 | }
19 |
20 | QTabBar::tab {
21 | border: none;
22 | alignment: center;
23 | margin-left: 4px;
24 | margin-right: 4px;
25 | margin-bottom: 4px;
26 | color: rgb(126,127,129);
27 | }
28 |
29 | QTabBar::tab:hover {
30 | color: {{SG_HIGHLIGHT_COLOR}};
31 | }
32 |
33 | QTabBar::tab:selected {
34 | color: {{SG_HIGHLIGHT_COLOR}};
35 | }
36 |
37 | QToolButton#more_info_button:hover, QToolButton#more_fields_button:hover, QToolButton#version_fields_button:hover, QToolButton#version_sort_button:hover {
38 | color: {{SG_HIGHLIGHT_COLOR}};
39 | }
40 |
41 | QToolButton#more_fields_button:menu-indicator, QToolButton#version_fields_button:menu-indicator, QToolButton#version_sort_button:menu-indicator {
42 | image: none;
43 | }
44 |
45 | QMenu::item#version_sort_menu:checked {
46 | color: {{SG_HIGHLIGHT_COLOR}};
47 | }
48 |
49 | #note_stream_widget {
50 | border: none;
51 | }
52 |
53 | #version_search {
54 | background-color: rgb(50,50,50);
55 | }
56 |
57 | QFrame#frame {
58 | background-color: rgba(200, 200, 200, 5%);
59 | border-radius: 3px;
60 | }
61 |
--------------------------------------------------------------------------------
/python/version_details/ui/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2016 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
--------------------------------------------------------------------------------
/python/views/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | # generic widget delegate
12 | from .widget_delegate import WidgetDelegate
13 | from .edit_selected_widget_delegate import EditSelectedWidgetDelegate
14 |
15 | # grouped list view classes
16 | from .grouped_list_view.grouped_list_view import GroupedListView
17 | from .grouped_list_view.grouped_list_view_item_delegate import (
18 | GroupedListViewItemDelegate,
19 | )
20 | from .grouped_list_view.group_widget_base import GroupWidgetBase
21 | from .grouped_list_view.grouped_item_view import GroupedItemView
22 |
23 | from .shotgun_tableview import ShotgunTableView
24 |
--------------------------------------------------------------------------------
/python/views/grouped_list_view/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
--------------------------------------------------------------------------------
/python/views/grouped_list_view/group_widget.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | """
12 | Default group widget used by the GroupedListView custom view via the
13 | GroupedListViewItemDelegate item delegate.
14 | """
15 |
16 | import sgtk
17 | from sgtk.platform.qt import QtGui, QtCore
18 |
19 | from .group_widget_base import GroupWidgetBase
20 |
21 |
22 | class GroupWidget(GroupWidgetBase):
23 | """
24 | Default Group widget class
25 | """
26 |
27 | def __init__(self, parent=None):
28 | """
29 | Construction
30 |
31 | :param parent: Parent for this widget
32 | """
33 | GroupWidgetBase.__init__(self, parent)
34 |
35 | # create the checkbox that indicates the toggled/expanded state for
36 | # the group:
37 | self._cb = QtGui.QCheckBox(self)
38 |
39 | # and add it to a basic layout:
40 | layout = QtGui.QHBoxLayout(self)
41 | layout.addWidget(self._cb)
42 | self.setLayout(layout)
43 |
44 | # connect up to the checkbox state-change:
45 | self._cb.stateChanged.connect(self._on_expand_checkbox_state_changed)
46 |
47 | def set_item(self, model_idx):
48 | """
49 | Overriden base method used to set the item this widget should be associated
50 | with.
51 |
52 | :param model_idx: The index of the item in the model
53 | :type model_idx: :class:`~PySide.QtCore.QModelIndex`
54 | """
55 | label = model_idx.data()
56 | self._cb.setText(label)
57 |
58 | def set_expanded(self, expand=True):
59 | """
60 | Overriden base method used to set if this widget is expanded or not.
61 |
62 | :param expand: True if the widget should be expanded, False if it
63 | should be collapsed.
64 | """
65 | self._cb.setCheckState(QtCore.Qt.Checked if expand else QtCore.Qt.Unchecked)
66 |
67 | def _on_expand_checkbox_state_changed(self, state):
68 | """
69 | Slot signalled when the checkbos state changes - emits the toggle_expanded
70 | Signal from the base class.
71 |
72 | :param state: The new state of the checkbox
73 | """
74 | self.toggle_expanded.emit(state != QtCore.Qt.Unchecked)
75 |
--------------------------------------------------------------------------------
/python/views/grouped_list_view/group_widget_base.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | import sgtk
12 | from sgtk.platform.qt import QtGui, QtCore
13 |
14 |
15 | class GroupWidgetBase(QtGui.QWidget):
16 | """
17 | Base interface for a group widget that will be used in the
18 | :class:`GroupedListView` custom view
19 |
20 | :signal toggle_expanded(bool): Emitted when the group's expansion
21 | state is toggled. Includes a boolean
22 | to indicate if the group is expanded or not.
23 |
24 | """
25 |
26 | # True if expanded, False if collapsed
27 | toggle_expanded = QtCore.Signal(bool)
28 |
29 | def set_item(self, model_idx):
30 | """
31 | Set the item this widget should be associated with. This should be
32 | implemented in derived classes
33 |
34 | :param model_idx: The index of the item in the model
35 | :type model_index: :class:`~PySide.QtCore.QModelIndex`
36 | """
37 | raise NotImplementedError()
38 |
39 | def set_expanded(self, expand=True):
40 | """
41 | Set if this widget is expanded or not. This should be implemented
42 | in derived classes
43 |
44 | :param expand: True if the widget should be expanded, False if it
45 | should be collapsed.
46 | :type expand: bool
47 | """
48 | raise NotImplementedError()
49 |
--------------------------------------------------------------------------------
/python/views/shotgun_tableview.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2016 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | from sgtk.platform.qt import QtGui
12 |
13 |
14 | class ShotgunTableView(QtGui.QTableView):
15 | """
16 | A subclass of :class:`~PySide.QtGui.QTableView` that will automatically set
17 | the column delegates to the appropriate delegate for the type of Shotgun data
18 | contained in them.
19 | """
20 |
21 | def __init__(self, fields_manager, parent=None):
22 | """
23 | Constructor
24 |
25 | :param fields_manager: The field manager to use when generating the delegates
26 | :type fields_manager: :class:`shotgun_fields.FieldsManager`
27 |
28 | :param parent: Parent widget
29 | :type parent: :class:`PySide.QtGui.QWidget`
30 | """
31 | QtGui.QTableView.__init__(self, parent)
32 | self._fields_manager = fields_manager
33 |
34 | self.setMouseTracking(True)
35 |
36 | # identify the ways to initiate editing a field
37 | self.setEditTriggers(
38 | QtGui.QAbstractItemView.DoubleClicked
39 | | QtGui.QAbstractItemView.EditKeyPressed
40 | )
41 |
42 | def setModel(self, model):
43 | """
44 | Overrides the base class setModel. This assumes that the model is a ShotgunModel
45 | and will set the delegates for each column to the appropriate delegate to display
46 | its Shotgun value.
47 | """
48 | QtGui.QTableView.setModel(self, model)
49 |
50 | # set the delegates
51 | columns_and_fields = model.get_additional_column_fields()
52 | for column_info in columns_and_fields:
53 | delegate = self._fields_manager.create_delegate(
54 | model.get_entity_type(), column_info["field"], self
55 | )
56 | self.setItemDelegateForColumn(column_info["column_idx"], delegate)
57 |
--------------------------------------------------------------------------------
/resources/resources.graffle:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shotgunsoftware/tk-framework-qtwidgets/ed9d107c8f9a82282044e1da11bf335a53aa2ba0/resources/resources.graffle
--------------------------------------------------------------------------------
/tests/fixtures/config/bundles/test_app/app.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2019 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | """
12 | A simple app to support unit tests.
13 | """
14 |
15 | import sgtk
16 |
17 |
18 | class TestApp(sgtk.platform.Application):
19 | """
20 | Dummy app that does nothing.
21 | """
22 |
--------------------------------------------------------------------------------
/tests/fixtures/config/bundles/test_app/info.yml:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2013 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | # Metadata defining the behaviour and requirements for this app
12 |
13 |
14 | # General items
15 | display_name: Test App
16 | author: ShotGrid Software
17 | description: Unit testing
18 |
19 | configuration:
20 |
21 | frameworks:
22 | - {"name": "tk-framework-shotgunutils", "version": "v5.x.x"}
23 | - {"name": "tk-framework-qtwidgets", "version": "v2.x.x", "minimum_version": "v2.7.0"}
24 |
--------------------------------------------------------------------------------
/tests/fixtures/config/core/hooks/pick_environment.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2016 Shotgun Software Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Shotgun Software Inc.
10 |
11 | """
12 | Pick environment hook.
13 | """
14 |
15 | from tank import Hook
16 |
17 |
18 | class PickEnvironment(Hook):
19 | """
20 | Picks the environment based on the context.
21 | """
22 |
23 | def execute(self, context):
24 | """
25 | Always picks the test environment unless step is not set, in which case
26 | it picks the entity environment.
27 | """
28 | return "test"
29 |
--------------------------------------------------------------------------------
/tests/fixtures/config/env/test.yml:
--------------------------------------------------------------------------------
1 | # this is a comment at the top of the file
2 | engines:
3 | # this is a comment after the engines section
4 | tk-testengine:
5 | apps:
6 | tk-testapp:
7 | location:
8 | type: path
9 | path: "{CONFIG_FOLDER}/bundles/test_app"
10 | debug_logging: False
11 |
12 | location:
13 | type: path
14 | path: $SHOTGUN_TEST_ENGINE
15 | frameworks:
16 | tk-framework-qtwidgets_v2.x.x:
17 | location:
18 | type: path
19 | path: $SHOTGUN_CURRENT_REPO_ROOT
20 | tk-framework-shotgunutils_v5.x.x:
21 | location:
22 | type: path
23 | path: $SHOTGUN_REPOS_ROOT/tk-framework-shotgunutils
24 |
--------------------------------------------------------------------------------
/tests/python/data_object.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2021 Autoiesk Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Autodesk Inc.
10 |
11 |
12 | class _TestDataObject(object):
13 | """
14 | Class used for generating test data objects.
15 | """
16 |
17 | def __init__(self, property_1, property_2, property_3):
18 | """
19 | Constructor. Initialize the object properties.
20 | """
21 |
22 | self._property_1 = property_1
23 | self._property_2 = property_2
24 | self._property_3 = property_3
25 |
26 | @property
27 | def property_1(self):
28 | return self._property_1
29 |
30 | @property
31 | def property_2(self):
32 | return self._property_2
33 |
34 | @property
35 | def property_3(self):
36 | return self._property_3
37 |
--------------------------------------------------------------------------------
/tests/python/list_model.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2021 Autoiesk Inc.
2 | #
3 | # CONFIDENTIAL AND PROPRIETARY
4 | #
5 | # This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
6 | # Source Code License included in this distribution package. See LICENSE.
7 | # By accessing, using, copying or modifying this work you indicate your
8 | # agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
9 | # not expressly granted therein are reserved by Autodesk Inc.
10 |
11 |
12 | import sgtk
13 |
14 | try:
15 | from sgtk.platform.qt import QtCore
16 | except:
17 | # components also use PySide, so make sure we have this loaded up correctly
18 | # before starting auto-doc.
19 | from tank.util.qt_importer import QtImporter
20 |
21 | importer = QtImporter()
22 | sgtk.platform.qt.QtCore = importer.QtCore
23 | sgtk.platform.qt.QtGui = importer.QtGui
24 | from sgtk.platform.qt import QtCore
25 |
26 |
27 | class _TestListModel(QtCore.QAbstractListModel):
28 | """
29 | A subclass of the Qt QAbstractListModel. A very basic model to use for testing.
30 | """
31 |
32 | def __init__(self, *args, **kwargs):
33 | """
34 | Constructor.
35 | """
36 |
37 | super().__init__(*args, **kwargs)
38 |
39 | self._data = []
40 | self._map_role_to_column = {QtCore.Qt.DisplayRole: 0}
41 |
42 | def set_internal_data(self, data):
43 | """
44 | Set the model's internal data.
45 | """
46 |
47 | self._data = data
48 |
49 | def rowCount(self, parent=QtCore.QModelIndex()):
50 | """
51 | Override the base method.
52 |
53 | Returns the number of rows in the model.
54 | """
55 |
56 | if parent.isValid():
57 | return 0
58 |
59 | return len(self._data)
60 |
61 | def data(self, index, role=QtCore.Qt.DisplayRole):
62 | """
63 | Override the base method.
64 |
65 | Return the data for the index and role.
66 | """
67 |
68 | if not index.isValid():
69 | return None
70 |
71 | # Ensure the index is valid with the internal model data
72 | if index.row() < 0 or index.row() >= len(self._data):
73 | return None
74 |
75 | # Get the model data for this index
76 | row_value = self._data[index.row()]
77 |
78 | # Get the column associated with this role to index into the data for this row.
79 | column = self._map_role_to_column.get(role, -1)
80 |
81 | if column < 0 or column >= len(row_value):
82 | # Role not mapped to a column or invalid column
83 | return None
84 |
85 | return row_value[column]
86 |
87 | def map_role_to_column(self, role, column):
88 | """
89 | Map a column to a given role to extract data from an index.
90 | """
91 |
92 | self._map_role_to_column[role] = column
93 |
--------------------------------------------------------------------------------