| 2873 | } |
| 2874 | |
| 2875 | void |
| 2876 | SequenceFileDialog::createViewerPreviewNode() |
| 2877 | { |
| 2878 | CreateNodeArgs args( PLUGINID_NATRON_VIEWER, NodeCollectionPtr() ); |
| 2879 | args.setProperty<std::string>(kCreateNodeArgsPropNodeInitialName, NATRON_FILE_DIALOG_PREVIEW_VIEWER_NAME); |
| 2880 | args.setProperty<bool>(kCreateNodeArgsPropOutOfProject, true); |
| 2881 | |
| 2882 | _preview->viewerNodeInternal = _gui->getApp()->createNode(args); |
| 2883 | assert(_preview->viewerNodeInternal); |
| 2884 | NodeGuiIPtr viewerNodeGui = _preview->viewerNodeInternal->getNodeGui(); |
| 2885 | _preview->viewerNode = std::dynamic_pointer_cast<NodeGui>(viewerNodeGui); |
| 2886 | assert(_preview->viewerNode); |
| 2887 | _preview->viewerNode->hideGui(); |
| 2888 | |
| 2889 | ViewerInstance* viewerInstance = _preview->viewerNodeInternal->isEffectViewer(); |
| 2890 | assert(viewerInstance); |
| 2891 | if (!viewerInstance) { |
| 2892 | // coverity[dead_error_line] |
| 2893 | return; |
| 2894 | } |
| 2895 | ViewerGL* viewerGL = dynamic_cast<ViewerGL*>( viewerInstance->getUiContext() ); |
| 2896 | assert(viewerGL); |
| 2897 | if (!viewerGL) { |
| 2898 | // coverity[dead_error_line] |
| 2899 | return; |
| 2900 | } |
| 2901 | _preview->viewerUI = viewerGL->getViewerTab(); |
| 2902 | assert(_preview->viewerUI); |
| 2903 | if (!_preview->viewerUI) { |
| 2904 | return; |
| 2905 | } |
| 2906 | _preview->viewerUI->setAsFileDialogViewer(); |
| 2907 | |
| 2908 | ///Set a custom timeline so that it is not in synced with the rest of the viewers of the app |
| 2909 | TimeLinePtr newTimeline( new TimeLine(NULL) ); |
| 2910 | _preview->viewerUI->setCustomTimeline(newTimeline); |
| 2911 | _preview->viewerUI->setClipToProject(false); |
| 2912 | _preview->viewerUI->setLeftToolbarVisible(false); |
| 2913 | _preview->viewerUI->setRightToolbarVisible(false); |
| 2914 | _preview->viewerUI->setTopToolbarVisible(false); |
| 2915 | _preview->viewerUI->setInfobarVisible(false); |
| 2916 | _preview->viewerUI->setPlayerVisible(false); |
| 2917 | TabWidget* parent = dynamic_cast<TabWidget*>( _preview->viewerUI->parentWidget() ); |
| 2918 | if (parent) { |
| 2919 | parent->removeTab(_preview->viewerUI, true); |
| 2920 | } |
| 2921 | _preview->viewerUI->setParent(NULL); |
| 2922 | } |
| 2923 | |
| 2924 | NodePtr |
| 2925 | SequenceFileDialog::findOrCreatePreviewReader(const std::string& filetype) |
nothing calls this directly
no test coverage detected