def file_context_menu(self):
        open_file = QtGui.QAction('Open File', self.dropTreeWidget)
        open_file.setIcon(gf.get_icon('folder'))
        open_file.triggered.connect(self.open_file_from_tree)

        open_file_folder = QtGui.QAction('Show Folder', self.dropTreeWidget)
        open_file_folder.setIcon(gf.get_icon('folder-open'))
        open_file_folder.triggered.connect(self.open_folder_from_tree)

        copy_path = QtGui.QAction("Copy File Path", self.dropTreeWidget)
        copy_path.setIcon(gf.get_icon('copy'))
        copy_path.triggered.connect(self.copy_path_from_tree)

        copy_abs_path = QtGui.QAction("Copy Absolute File Path",
                                      self.dropTreeWidget)
        copy_abs_path.setIcon(gf.get_icon('copy'))
        copy_abs_path.triggered.connect(self.copy_abs_path_from_tree)

        menu = QtGui.QMenu()

        menu.addAction(open_file)
        menu.addAction(open_file_folder)
        menu.addAction(copy_path)
        menu.addAction(copy_abs_path)

        return menu
    def create_collapsable_toolbar(self):
        self.collap = ui_misc_classes.Ui_horizontalCollapsableWidget()

        self.buttons_layout = QtGui.QHBoxLayout()
        self.buttons_layout.setSpacing(0)
        self.buttons_layout.setContentsMargins(0, 0, 0, 0)
        self.filter_process_button = QtGui.QToolButton()
        self.filter_process_button.setMaximumSize(22, 22)
        self.filter_process_button.setAutoRaise(True)
        self.filter_process_button.setIcon(gf.get_icon('filter'))
        self.filter_process_button.clicked.connect(self.create_process_tree_widget)

        self.toggle_search_options_button = QtGui.QToolButton()
        self.toggle_search_options_button.setMaximumSize(22, 22)
        self.toggle_search_options_button.setAutoRaise(True)
        self.toggle_search_options_button.setIcon(gf.get_icon('sliders'))
        self.toggle_search_options_button.clicked.connect(self.toggle_search_group_box)

        self.find_opened_sobject_button = QtGui.QToolButton()
        self.find_opened_sobject_button.setMaximumSize(22, 22)
        self.find_opened_sobject_button.setAutoRaise(True)
        self.find_opened_sobject_button.setIcon(gf.get_icon('bolt'))
        self.find_opened_sobject_button.clicked.connect(self.find_opened_sobject)

        self.buttons_layout.addWidget(self.filter_process_button)
        self.buttons_layout.addWidget(self.toggle_search_options_button)
        if env_mode.get_mode() == 'maya':
            self.buttons_layout.addWidget(self.find_opened_sobject_button)

        self.collap.setLayout(self.buttons_layout)
        self.collap.setCollapsed(True)

        self.expandingLayout.addWidget(self.collap)
    def file_context_menu(self):
        open_file = QtGui.QAction('Open File', self.filesTreeWidget)
        open_file.setIcon(gf.get_icon('folder'))
        open_file.triggered.connect(self.open_file_from_tree)

        open_file_folder = QtGui.QAction('Show Folder', self.filesTreeWidget)
        open_file_folder.setIcon(gf.get_icon('folder-open'))
        open_file_folder.triggered.connect(self.open_folder_from_tree)

        copy_path = QtGui.QAction("Copy File Path", self.previewGraphicsView)
        copy_path.setIcon(gf.get_icon('copy'))
        copy_path.triggered.connect(self.copy_path_from_tree)

        edit_info = QtGui.QAction('Edit Info', self.filesTreeWidget)
        edit_info.setIcon(gf.get_icon('edit'))
        edit_info.triggered.connect(self.edit_file_sobject)

        delete_sobject = QtGui.QAction('Delete', self.filesTreeWidget)
        delete_sobject.setIcon(gf.get_icon('remove'))
        delete_sobject.triggered.connect(lambda: self.delete_sobject())

        menu = QtGui.QMenu()

        menu.addAction(open_file)
        menu.addAction(open_file_folder)
        menu.addAction(copy_path)
        menu.addAction(edit_info)
        menu.addAction(delete_sobject)

        return menu
 def set_checkin_options_group_box_state(self, hidden=False):
     if hidden:
         # self.toggleSaveOptionsToolButton.setArrowType(QtCore.Qt.UpArrow)
         self.toggleSaveOptionsToolButton.setIcon(gf.get_icon('toggle-off'))
         self.checkin_options_widget.hide()
     else:
         # self.toggleSaveOptionsToolButton.setArrowType(QtCore.Qt.DownArrow)
         self.toggleSaveOptionsToolButton.setIcon(gf.get_icon('toggle-on'))
         self.checkin_options_widget.show()
    def create_control_buttons(self):
        self.addNewButton = QtGui.QPushButton('Create')
        self.addNewButton.setMaximumWidth(80)
        self.saveButton = QtGui.QPushButton('Save')
        self.saveButton.setMaximumWidth(80)
        self.cancelButton = QtGui.QPushButton('Cancel')
        self.cancelButton.setMaximumWidth(80)
        self.buildDirectoryButton = QtGui.QPushButton(
            'Build Full Directory Structure')
        self.buildDirectoryButton.setIcon(gf.get_icon('database'))
        self.build_directory_checkbox = QtGui.QCheckBox(
            'Build Full Directory Structure')
        self.build_directory_checkbox.setChecked(False)
        self.build_directory_checkbox.setIcon(gf.get_icon('database'))

        self.repositoryComboBox = QtGui.QComboBox()
        base_dirs = env_tactic.get_all_base_dirs()
        # Default repo states
        from lib.configuration import cfg_controls
        current_repo = gf.get_value_from_config(cfg_controls.get_checkin(),
                                                'repositoryComboBox')
        for key, val in base_dirs:
            if val['value'][4]:
                self.repositoryComboBox.addItem(val['value'][1])
                self.repositoryComboBox.setItemData(
                    self.repositoryComboBox.count() - 1, val)
        if current_repo:
            self.repositoryComboBox.setCurrentIndex(current_repo)

        if self.tactic_widget.view == 'insert':
            self.main_layout.addWidget(self.build_directory_checkbox, 1, 0, 1,
                                       1)
            self.main_layout.addWidget(self.repositoryComboBox, 1, 1, 1, 1)
            spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                           QtGui.QSizePolicy.Minimum)
            self.main_layout.addItem(spacerItem, 1, 2, 1, 1)
            self.main_layout.addWidget(self.addNewButton, 1, 3, 1, 1)
            self.main_layout.addWidget(self.cancelButton, 1, 4, 1, 1)
            self.main_layout.setColumnStretch(1, 0)
        else:
            self.main_layout.addWidget(self.buildDirectoryButton, 1, 0, 1, 1)
            self.main_layout.addWidget(self.repositoryComboBox, 1, 1, 1, 1)
            spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                           QtGui.QSizePolicy.Minimum)
            self.main_layout.addItem(spacerItem, 1, 2, 1, 1)
            self.main_layout.addWidget(self.saveButton, 1, 3, 1, 1)
            self.main_layout.addWidget(self.cancelButton, 1, 4, 1, 1)
            self.main_layout.setColumnStretch(1, 0)

        if self.item:
            if self.item.type != 'sobject':
                self.buildDirectoryButton.setHidden(True)
                self.repositoryComboBox.setHidden(True)
    def create_on_scene_layout(self):
        self.previewGraphicsView_layout = QtGui.QGridLayout(self.previewGraphicsView)
        self.previewGraphicsView_layout.setContentsMargins(0, 0, 0, 0)
        self.previewGraphicsView_layout.setSpacing(0)
        self.back_button = QtGui.QPushButton('')
        self.back_button_opacity_effect = QtGui.QGraphicsOpacityEffect()
        self.back_button_opacity_effect.setOpacity(0)
        self.back_button.setGraphicsEffect(self.back_button_opacity_effect)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
        self.back_button.setSizePolicy(sizePolicy)
        self.back_button.setIcon(gf.get_icon('chevron-left'))
        self.back_button.setStyleSheet('QPushButton {background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 0, 64), stop:1 rgba(0, 0, 0, 0)); border-style: none; border-width: 0px;}')

        self.back_button_hover_animation = QtCore.QPropertyAnimation(self.back_button_opacity_effect, "opacity", self)
        self.back_button_hover_animation.setDuration(200)
        self.back_button_hover_animation.setEasingCurve(QtCore.QEasingCurve.InSine)
        self.back_button_hover_animation.setStartValue(0)
        self.back_button_hover_animation.setEndValue(1)

        self.back_button_leave_animation = QtCore.QPropertyAnimation(self.back_button_opacity_effect, "opacity", self)
        self.back_button_leave_animation.setDuration(200)
        self.back_button_leave_animation.setEasingCurve(QtCore.QEasingCurve.OutSine)
        self.back_button_leave_animation.setEndValue(0)

        # forward button
        self.forward_button = QtGui.QPushButton('')
        self.forward_button_opacity_effect = QtGui.QGraphicsOpacityEffect(self)
        self.forward_button_opacity_effect.setOpacity(0)
        self.forward_button.setGraphicsEffect(self.forward_button_opacity_effect)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
        self.forward_button.setSizePolicy(sizePolicy)
        self.forward_button.setIcon(gf.get_icon('chevron-right'))
        self.forward_button.setStyleSheet('QPushButton {background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 0, 0), stop:1 rgba(0, 0, 0, 64)); border-style: none; border-width: 0px;}')

        self.forward_button_hover_animation = QtCore.QPropertyAnimation(self.forward_button_opacity_effect, "opacity", self)
        self.forward_button_hover_animation.setDuration(200)
        self.forward_button_hover_animation.setEasingCurve(QtCore.QEasingCurve.InSine)
        self.forward_button_hover_animation.setStartValue(0)
        self.forward_button_hover_animation.setEndValue(1)

        self.forward_button_leave_animation = QtCore.QPropertyAnimation(self.forward_button_opacity_effect, "opacity", self)
        self.forward_button_leave_animation.setDuration(200)
        self.forward_button_leave_animation.setEasingCurve(QtCore.QEasingCurve.OutSine)
        self.forward_button_leave_animation.setEndValue(0)

        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
        self.previewGraphicsView_layout.addWidget(self.forward_button, 0, 2, 1, 1)
        self.previewGraphicsView_layout.addWidget(self.back_button, 0, 0, 1, 1)
        self.previewGraphicsView_layout.addItem(spacerItem, 0, 1, 1, 1)
        self.previewGraphicsView_layout.setColumnStretch(0, 1)
        self.previewGraphicsView_layout.setColumnStretch(1, 1)
        self.previewGraphicsView_layout.setColumnStretch(2, 1)
예제 #7
0
    def setCollapsed(self, state):

        if state:
            self.collapse_state = True
            self.collapseToolButton.setIcon(gf.get_icon('angle-left'))
            self.widget.setHidden(True)
            if self.__collapsedTex:
                self.setCollapsedText(self.__collapsedTex)
        else:
            self.collapse_state = False
            self.collapseToolButton.setIcon(gf.get_icon('angle-right'))
            self.widget.setHidden(False)
            self.setText(self.__text)
예제 #8
0
    def setCollapsed(self, state):

        if state:
            self.collapse_state = True
            self.collapseToolButton.setIcon(gf.get_icon('angle-left'))
            self.widget.setHidden(True)
            if self.__collapsedTex:
                self.setCollapsedText(self.__collapsedTex)
        else:
            self.collapse_state = False
            self.collapseToolButton.setIcon(gf.get_icon('angle-right'))
            self.widget.setHidden(False)
            self.setText(self.__text)
예제 #9
0
    def create_drop_plate_ui(self):

        self.clearPushButton.setIcon(gf.get_icon('trash'))
        self.configPushButton.setIcon(gf.get_icon('cog'))

        self.setAcceptDrops(True)
        self.dropTreeWidget.setSelectionMode(
            QtGui.QAbstractItemView.SingleSelection)

        if env_mode.get_mode() == 'standalone':
            self.fromDropListCheckBox.setHidden(True)
            sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
                                           QtGui.QSizePolicy.Preferred)
            self.setSizePolicy(sizePolicy)
            self.setMinimumWidth(300)
    def tab_bar_customization(self):
        self.hamburger_tab_button = QtGui.QToolButton()
        self.hamburger_tab_button.setAutoRaise(True)
        self.hamburger_tab_button.setMinimumWidth(22)
        self.hamburger_tab_button.setMinimumHeight(22)
        self.animation_close = QtCore.QPropertyAnimation(self.sTypesTreeWidget, "maximumWidth", self)
        self.animation_open = QtCore.QPropertyAnimation(self.sTypesTreeWidget, "maximumWidth", self)
        self.hamburger_tab_button.setIcon(gf.get_icon('navicon'))

        self.sObjTabWidget.setCornerWidget(self.hamburger_tab_button, QtCore.Qt.TopLeftCorner)
예제 #11
0
    def create_ui(self):
        if self.process:
            title = self.process.capitalize()
        else:
            title = 'Unnamed'
        if self.process_info.get('type') == 'hierarchy':
            title = '{0} (hierarchy)'.format(title)
        self.tree_item.setText(0, title)

        self.notesToolButton.setIcon(gf.get_icon('commenting-o'))
    def create_graphics_view_context_menu(self):
        self.previewGraphicsView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)

        self.menu_actions = []

        open_external = QtGui.QAction("Open File", self.previewGraphicsView)
        open_external.setIcon(gf.get_icon('folder'))
        open_external.triggered.connect(self.open_file_from_graphics_view)

        open_file_folder = QtGui.QAction('Show Folder', self.filesTreeWidget)
        open_file_folder.setIcon(gf.get_icon('folder-open'))
        open_file_folder.triggered.connect(self.open_folder_from_graphics_view)

        copy_path = QtGui.QAction("Copy File Path", self.previewGraphicsView)
        copy_path.setIcon(gf.get_icon('copy'))
        copy_path.triggered.connect(self.copy_path_from_graphics_view)

        previews_maya = QtGui.QAction('', self.previewGraphicsView)
        previews_maya.setSeparator(True)

        add_imageplane = QtGui.QAction("Add as Imageplane", self.previewGraphicsView)
        add_imageplane.triggered.connect(lambda: self.add_as_image_plane(self.imagesSlider.value()))

        previews_sep = QtGui.QAction('', self.previewGraphicsView)
        previews_sep.setSeparator(True)

        add_new_image = QtGui.QAction("Add new Image", self.previewGraphicsView)
        add_new_image.triggered.connect(lambda: self.open_ext(self.imagesSlider.value()))

        add_new_playblast = QtGui.QAction("Capture new playblast", self.previewGraphicsView)
        add_new_playblast.triggered.connect(lambda: self.open_ext(self.imagesSlider.value()))

        self.menu_actions.append(open_external)
        self.menu_actions.append(open_file_folder)
        self.menu_actions.append(copy_path)
        self.menu_actions.append(previews_maya)
        # self.menu_actions.append(add_imageplane)
        # self.menu_actions.append(previews_sep)
        # self.menu_actions.append(add_new_image)
        # self.menu_actions.append(add_new_playblast)

        self.previewGraphicsView.addActions(self.menu_actions)
    def create_drop_plate_ui(self):

        self.clearPushButton.setIcon(gf.get_icon('eraser'))

        self.setAcceptDrops(True)
        self.dropTreeWidget.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)

        if env_mode.get_mode() == 'standalone':
            self.fromDropListCheckBox.setHidden(True)
            sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
            self.setSizePolicy(sizePolicy)
            self.setMinimumWidth(300)
    def tab_bar_customization(self):
        self.hamburger_tab_button = QtGui.QToolButton()
        self.hamburger_tab_button.setAutoRaise(True)
        self.hamburger_tab_button.setMinimumWidth(20)
        self.hamburger_tab_button.setMinimumHeight(20)
        self.animation_close = QtCore.QPropertyAnimation(
            self.sTypesTreeWidget, "maximumWidth", self)
        self.animation_open = QtCore.QPropertyAnimation(
            self.sTypesTreeWidget, "maximumWidth", self)
        self.hamburger_tab_button.setIcon(gf.get_icon('navicon'))

        self.sObjTabWidget.setCornerWidget(self.hamburger_tab_button,
                                           QtCore.Qt.BottomLeftCorner)
예제 #15
0
    def create_new_tab_button(self):
        self.add_new_tab_button = QtGui.QToolButton()
        self.add_new_tab_button.setAutoRaise(True)
        self.add_new_tab_button.setMinimumWidth(22)
        self.add_new_tab_button.setMinimumHeight(22)
        self.add_new_tab_button.setIcon(gf.get_icon('plus'))

        self.history_tab_button = QtGui.QToolButton()
        self.history_tab_button.setAutoRaise(True)
        self.history_tab_button.setMinimumWidth(22)
        self.history_tab_button.setMinimumHeight(22)
        self.history_tab_button.setPopupMode(QtGui.QToolButton.InstantPopup)
        self.history_tab_button.setIcon(gf.get_icon('history'))

        self.refresh_tab_button = QtGui.QToolButton()
        self.refresh_tab_button.setAutoRaise(True)
        self.refresh_tab_button.setMinimumWidth(22)
        self.refresh_tab_button.setMinimumHeight(22)

        # effect = QtGui.QGraphicsColorizeEffect(self.refresh_tab_button)
        # self.animation = QtCore.QPropertyAnimation(effect, "color", self)
        # self.animation.setDuration(500)
        # self.animation.setStartValue(QtGui.QColor(0, 0, 0, 0))
        # self.animation.setEndValue(QtGui.QColor(49, 140, 72, 128))
        # self.animation.start()
        # self.refresh_tab_button.setGraphicsEffect(effect)
        self.refresh_tab_button.setIcon(gf.get_icon('refresh'))

        self.right_buttons_layout = QtGui.QHBoxLayout()
        self.right_buttons_layout.setContentsMargins(0, 0, 0, 0)
        self.right_buttons_layout.setSpacing(2)
        self.right_buttons_widget= QtGui.QWidget(self)
        self.right_buttons_widget.setLayout(self.right_buttons_layout)
        self.right_buttons_layout.addWidget(self.refresh_tab_button)
        self.right_buttons_layout.addWidget(self.history_tab_button)

        self.resultsTabWidget.setCornerWidget(self.right_buttons_widget, QtCore.Qt.TopRightCorner)
        self.resultsTabWidget.setCornerWidget(self.add_new_tab_button, QtCore.Qt.TopLeftCorner)
    def create_refresh_popup(self):
        self.refreshToolButton.setIcon(gf.get_icon('cog'))
        self.refreshToolButton.setMinimumSize(22, 22)

        self.switch_to_checkin = QtGui.QAction('Copy tab to checkin', self.refreshToolButton)
        self.switch_to_checkin.triggered.connect(self.refresh_current_results)
        self.filter_process = QtGui.QAction('Filter Process', self.refreshToolButton)
        self.filter_process.triggered.connect(self.create_process_tree_widget)
        self.refresh_results = QtGui.QAction('Refresh results', self.refreshToolButton)
        self.refresh_results.triggered.connect(self.refresh_current_results)
        self.clear_results = QtGui.QAction('Close all Search-Tabs', self.refreshToolButton)
        self.clear_results.triggered.connect(self.close_all_search_tabs)
        self.search_options = QtGui.QAction('Toggle Search options', self.refreshToolButton)
        self.search_options.triggered.connect(lambda: self.searchLineDoubleClick(event=True))

        self.refreshToolButton.addAction(self.switch_to_checkin)
        self.refreshToolButton.addAction(self.filter_process)
        self.refreshToolButton.addAction(self.refresh_results)
        self.refreshToolButton.addAction(self.clear_results)
        self.refreshToolButton.addAction(self.search_options)
    def create_refresh_popup(self):
        self.refreshToolButton.setIcon(gf.get_icon('cog'))
        self.refreshToolButton.setMinimumSize(22, 22)

        self.switch_to_checkout = QtGui.QAction('Copy tab to checkout', self.refreshToolButton)
        self.switch_to_checkout.triggered.connect(self.refresh_current_results)
        self.filter_process = QtGui.QAction('Filter Process', self.refreshToolButton)
        self.filter_process.triggered.connect(self.create_process_tree_widget)
        self.refresh_results = QtGui.QAction('Refresh results', self.refreshToolButton)
        self.refresh_results.triggered.connect(self.refresh_current_results)
        self.clear_results = QtGui.QAction('Close all Search-Tabs', self.refreshToolButton)
        self.clear_results.triggered.connect(self.close_all_search_tabs)
        self.search_options = QtGui.QAction('Toggle Search options', self.refreshToolButton)
        self.search_options.triggered.connect(self.toggle_search_group_box)

        self.refreshToolButton.addAction(self.switch_to_checkout)
        self.refreshToolButton.addAction(self.filter_process)
        self.refreshToolButton.addAction(self.refresh_results)
        self.refreshToolButton.addAction(self.clear_results)
        self.refreshToolButton.addAction(self.search_options)
예제 #18
0
    def customize_ui(self):
        if env_mode.get_mode() == 'standalone':
            self.actionDock_undock.setVisible(False)

        self.actionExit.setIcon(gf.get_icon('close'))
        self.actionConfiguration.setIcon(gf.get_icon('wrench'))
 def create_save_button(self):
     self.savePushButton.setIcon(gf.get_icon('save'))
     self.savePushButton.setMenu(self.checkin_context_menu())
 def create_checkin_options_group_box(self):
     self.checkin_options_widget = Ui_checkInOptionsWidget(stype=self.stype, project=self.project, parent=self)
     self.checkinOptionsSplitter.addWidget(self.checkin_options_widget)
     # self.checkinOptionsLayout.addWidget(self.checkin_options_widget)
     # self.toggleSaveOptionsToolButton.setArrowType(QtCore.Qt.DownArrow)
     self.toggleSaveOptionsToolButton.setIcon(gf.get_icon('toggle-on'))
예제 #21
0
 def set_child_count_title(self, count):
     if count > 0:
         self.addNewSObjectToolButton.setIcon(gf.get_icon('plus-square'))
     self.addNewSObjectToolButton.setText('| {0}'.format(count))
예제 #22
0
 def set_notes_count(self, notes_count):
     if notes_count > 0:
         self.notesToolButton.setIcon(gf.get_icon('commenting'))
     self.notesToolButton.setText('| {0}'.format(notes_count))
예제 #23
0
    def customize_ui(self):
        if env_mode.get_mode() == 'standalone':
            self.actionDock_undock.setVisible(False)

        self.actionExit.setIcon(gf.get_icon('close'))
        self.actionConfiguration.setIcon(gf.get_icon('wrench'))
예제 #24
0
 def create_ui(self):
     self.addNewSObjectToolButton.setIcon(gf.get_icon('plus-square-o'))
    def checkin_context_menu(self, tool_button=True, mode=None):

        edit_info = QtGui.QAction('Edit Info', self.savePushButton)
        edit_info.setIcon(gf.get_icon('edit'))
        edit_info.triggered.connect(lambda: self.edit_existing_sobject())

        delete_sobject = QtGui.QAction('Delete', self.savePushButton)
        delete_sobject.setIcon(gf.get_icon('remove'))
        delete_sobject.triggered.connect(self.delete_sobject)

        save_snapshot = QtGui.QAction('Save snapshot', self.savePushButton)
        save_snapshot.setIcon(gf.get_icon('save'))
        # add_icon = QtGui.QIcon()
        # add_icon.addPixmap(QtGui.QPixmap(':/ui_search/gliph/add_16.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        # save_snapshot.setIcon(add_icon)
        save_snapshot.triggered.connect(self.save_file)

        save_selected_snapshot = QtGui.QAction('Save selected objects', self.savePushButton)
        save_selected_snapshot.triggered.connect(lambda: self.save_file(selected_objects=True))

        save_snapshot_revision = QtGui.QAction('Add revision (update current file)', self.savePushButton)
        save_snapshot_revision.triggered.connect(lambda: self.save_file(save_revision=True))

        save_selected_snapshot_revision = QtGui.QAction('Add revision for selected objects', self.savePushButton)
        save_selected_snapshot_revision.triggered.connect(lambda: self.save_file(selected_objects=True, save_revision=True))

        update_snapshot = QtGui.QAction('Update file only (without revision)', self.savePushButton)
        update_snapshot.triggered.connect(lambda: self.save_file(update_snapshot=True))

        # update_selected_snapshot = QtGui.QAction('Update selected', self.savePushButton)
        # update_selected_snapshot.triggered.connect(lambda: self.prnt(0))

        # update_playblast = QtGui.QAction('Update Playblast', self.savePushButton)
        # update_playblast.triggered.connect(lambda: self.prnt(0))

        delete_snapshot = QtGui.QAction('Delete', self.savePushButton)
        delete_snapshot.setIcon(gf.get_icon('remove'))
        delete_snapshot.triggered.connect(self.delete_snapshot_sobject)

        # checkin_options = QtGui.QAction('Checkin Options toggle', self.savePushButton)
        # checkin_options.triggered.connect(self.toggle_checkin_options_group_box)

        menu = QtGui.QMenu()

        # if not tool_button:
        if mode == 'sobject':
            menu.addAction(save_snapshot)
            menu.addAction(save_selected_snapshot)
            menu.addSeparator()
            menu.addAction(save_snapshot_revision)
            menu.addAction(save_selected_snapshot_revision)
            menu.addSeparator()
            menu.addAction(update_snapshot)
            # menu.addAction(update_selected_snapshot)
            # menu.addAction(update_playblast)
            menu.addSeparator()
            menu.addAction(edit_info)
            menu.addSeparator()
            menu.addAction(delete_sobject)
            # menu.addSeparator()
            # menu.addAction(checkin_options)

        if mode == 'snapshot':
            menu.addAction(save_snapshot)
            menu.addAction(save_selected_snapshot)
            menu.addSeparator()
            menu.addAction(save_snapshot_revision)
            menu.addAction(save_selected_snapshot_revision)
            menu.addSeparator()
            menu.addAction(update_snapshot)
            # menu.addAction(update_selected_snapshot)
            # menu.addAction(update_playblast)
            menu.addSeparator()
            menu.addAction(edit_info)
            menu.addSeparator()
            menu.addAction(delete_snapshot)
            # menu.addSeparator()
            # menu.addAction(checkin_options)

        if mode == 'process':
            menu.addAction(save_snapshot)
            menu.addAction(save_selected_snapshot)
            # menu.addSeparator()
            # menu.addAction(save_snapshot_revision)
            # menu.addAction(save_selected_snapshot_revision)
            # menu.addSeparator()
            # menu.addAction(update_snapshot)
            # menu.addAction(update_selected_snapshot)
            # menu.addAction(update_playblast)
            # menu.addSeparator()
            # menu.addAction(checkin_options)

        # if mode == 'child':
        #     menu.addAction(checkin_options)

        return menu