def mouseDoubleClickEvent(self, event): if self.relates_to == 'checkin': do_dbl_click = gf.get_value_from_config(cfg_controls.get_checkin(), 'doubleClickSaveCheckBox') else: do_dbl_click = gf.get_value_from_config(cfg_controls.get_checkout(), 'doubleClickOpenCheckBox') if not do_dbl_click: super(Ui_snapshotItemWidget, self).mouseDoubleClickEvent(event) else: if self.relates_to == 'checkin': self.parent_ui.save_file() else: self.parent_ui.open_file()
def create_separate_versions_tree(self): if self.parent_ui.relates_to == 'checkout' and self.checkout_config: self.sep_versions = bool(int( gf.get_value_from_config(self.checkout_config, 'versionsSeparateCheckoutCheckBox', 'QCheckBox') )) elif self.parent_ui.relates_to == 'checkin' and self.checkin_config: self.sep_versions = bool(int( gf.get_value_from_config(self.checkin_config, 'versionsSeparateCheckinCheckBox', 'QCheckBox') )) else: self.sep_versions = False if not self.sep_versions: self.verticalLayoutWidget_3.close()
def customize_controls_tabs(self): if self.checkin_out_config_projects: project_tabs_list = self.checkin_out_config_projects.get(self.current_project) if gf.get_value_from_config(self.checkin_out_config, 'applyToAllProjectsRadioButton'): tabs_list = self.checkin_out_config_projects.get('!tabs_list!') elif project_tabs_list: tabs_list = project_tabs_list['tabs_list'] else: tabs_list = None if tabs_list: for i, tab in enumerate(tabs_list): if tab[0] == 'Checkin / Checkout': if not tab[2]: self.main_tabWidget.removeTab(self.get_tab_index(self.checkInOutTab)) else: self.main_tabWidget.insertTab(i, self.checkInOutTab, tab[1]) # if tab[0] == 'Checkin': # if not tab[2]: # self.main_tabWidget.removeTab(self.get_tab_index(self.checkInTab)) # else: # self.main_tabWidget.insertTab(i, self.checkInTab, tab[1]) if tab[0] == 'My Tactic': if not tab[2]: self.main_tabWidget.removeTab(self.get_tab_index(self.myTacticTab)) else: self.main_tabWidget.insertTab(i, self.myTacticTab, tab[1]) if tab[0] == 'Assets Browser': if not tab[2]: self.main_tabWidget.removeTab(self.get_tab_index(self.assetsBrowserTab)) else: self.main_tabWidget.insertTab(i, self.assetsBrowserTab, tab[1])
def __init__(self, project_code, parent=None): super(self.__class__, self).__init__(parent=parent) env_inst.ui_main_tabs[project_code] = self self.settings = QtCore.QSettings('{0}/settings/{1}/{2}/{3}/main_ui_config.ini'.format( env_mode.get_current_path(), env_mode.get_node(), env_server.get_cur_srv_preset(), env_mode.get_mode()), QtCore.QSettings.IniFormat) self.setupUi(self) self.checkin_out_config_projects = cfg_controls.get_checkin_out_projects() self.checkin_out_config = cfg_controls.get_checkin_out() self.isCreated = False self.project = env_inst.projects.get(project_code) self.current_project = self.project.info['code'] self.current_namespace = self.project.info['type'] if self.checkin_out_config_projects and self.checkin_out_config: if gf.get_value_from_config(self.checkin_out_config, 'controlsTabsFilterGroupBox'): self.customize_controls_tabs() self.create_ui_main_tabs()
def customize_controls_tabs(self): if self.checkin_out_config_projects: project_tabs_list = self.checkin_out_config_projects.get(self.current_project) if gf.get_value_from_config(self.checkin_out_config, 'applyToAllProjectsRadioButton', 'QRadioButton'): tabs_list = self.checkin_out_config_projects.get('!tabs_list!') elif project_tabs_list: tabs_list = project_tabs_list['tabs_list'] else: tabs_list = None if tabs_list: for i, tab in enumerate(tabs_list): if tab[0] == 'Checkout': if not tab[2]: self.main_tabWidget.removeTab(self.main_tabWidget.indexOf(self.checkOutTab)) else: self.main_tabWidget.insertTab(i, self.checkOutTab, tab[1]) if tab[0] == 'Checkin': if not tab[2]: self.main_tabWidget.removeTab(self.main_tabWidget.indexOf(self.checkInTab)) else: self.main_tabWidget.insertTab(i, self.checkInTab, tab[1]) if tab[0] == 'My Tactic': if not tab[2]: self.main_tabWidget.removeTab(self.main_tabWidget.indexOf(self.myTacticTab)) else: self.main_tabWidget.insertTab(i, self.myTacticTab, tab[1]) if tab[0] == 'Assets Browser': if not tab[2]: self.main_tabWidget.removeTab(self.main_tabWidget.indexOf(self.assetsBrowserTab)) else: self.main_tabWidget.insertTab(i, self.assetsBrowserTab, tab[1])
def __init__(self, project_code, parent=None): super(self.__class__, self).__init__(parent=parent) env_inst.ui_main_tabs[project_code] = self self.settings = QtCore.QSettings('{0}/settings/{1}/{2}/{3}/main_ui_config.ini'.format( env_mode.get_current_path(), env_mode.get_node(), env_server.get_cur_srv_preset(), env_mode.get_mode()), QtCore.QSettings.IniFormat) self.setupUi(self) self.checkin_out_config_projects = cfg_controls.get_checkin_out_projects() self.checkin_out_config = cfg_controls.get_checkin_out() self.isCreated = False self.project = env_inst.projects.get(project_code) self.current_project = self.project.info['code'] self.current_namespace = self.project.info['type'] if self.checkin_out_config_projects and self.checkin_out_config: if gf.get_value_from_config(self.checkin_out_config, 'controlsTabsFilterGroupBox', 'QGroupBox'): self.customize_controls_tabs() self.create_ui_main_tabs()
def get_ignore_stypes_list(self): ignore_tabs_list = [] if self.checkin_out_config and self.checkin_out_config_projects and self.checkin_out_config_projects.get(self.current_project): if not gf.get_value_from_config(self.checkin_out_config, 'processTabsFilterGroupBox', 'QGroupBox'): ignore_tabs_list = [] else: ignore_tabs_list = self.checkin_out_config_projects[self.current_project]['stypes_list'] return ignore_tabs_list
def mouseDoubleClickEvent(self, event): do_dbl_click = None if self.relates_to == 'checkin': do_dbl_click = gf.get_value_from_config(cfg_controls.get_checkin(), 'doubleClickSaveCheckBox') if not do_dbl_click: super(Ui_processItemWidget, self).mouseDoubleClickEvent(event) else: if self.relates_to == 'checkin': self.parent_ui.save_file()
def double_click_snapshot(self): if self.checkut_config: double_click = bool(int( gf.get_value_from_config(self.checkut_config, 'doubleClickOpenCheckBox', 'QCheckBox') )) else: double_click = False if double_click: current_widget = self.search_results_widget.get_current_widget() current_tree_widget_item = current_widget.get_current_tree_widget_item() if current_tree_widget_item.type == 'snapshot' and current_tree_widget_item.files: self.open_file()
def add_items_to_tabs(self): """ Adding process tabs marked for Maya """ # self.sObjTabWidget.setTabBar(ColoredTabBar(self)) self.all_tabs_label = [] ignore_tabs_list = [] if self.checkin_out_config and self.checkin_out_config_projects and self.checkin_out_config_projects.get(self.current_project): if not gf.get_value_from_config(self.checkin_out_config, 'processTabsFilterGroupBox', 'QGroupBox'): ignore_tabs_list = [] else: ignore_tabs_list = self.checkin_out_config_projects[self.current_project]['stypes_list'] for i, stype in enumerate(self.stypes_items.itervalues()): self.ui_tree.append(checkout_tree_widget.Ui_checkOutTreeWidget(stype, i, self.project, self)) if stype.info['title']: tab_name = stype.info['title'].capitalize() else: if stype.info['code']: tab_name = stype.info['code'] else: tab_name = 'Unnamed' self.sObjTabWidget.addTab(self.ui_tree[i], '') tab_label = gf.create_tab_label(tab_name, stype) self.all_tabs_label.append(tab_label) # effect = QtGui.QGraphicsColorizeEffect(self.sObjTabWidget.tabBar()) # 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() # print effect.boundingRectFor(self.sObjTabWidget.tabBar().tabRect(0)) # effect.updateBoundingRect() # print effect.sourceBoundingRect() # print effect.set # effect.update() # self.sObjTabWidget.tabBar().setGraphicsEffect(effect) # print self.sObjTabWidget.tabBar().drawBase() # QtGui.QTabBar.drawBase() self.sObjTabWidget.tabBar().setTabButton(i, QtGui.QTabBar.LeftSide, tab_label) # Remove hidden tabs if ignore_tabs_list: for tab in self.ui_tree: if tab.tab_name in ignore_tabs_list: self.sObjTabWidget.removeTab(self.sObjTabWidget.indexOf(tab))
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 get_ignore_stypes_list(self): ignore_tabs_list = [] if self.checkin_out_config and self.checkin_out_config_projects and self.checkin_out_config_projects.get( self.current_project): if not gf.get_value_from_config(self.checkin_out_config, 'processTabsFilterGroupBox'): ignore_tabs_list = [] else: ignore_tabs_list = self.checkin_out_config_projects[ self.current_project]['stypes_list'] if not ignore_tabs_list: ignore_tabs_list = [] return ignore_tabs_list
def get_repo_color(self): config = cfg_controls.get_checkin() if config: if self.snapshot['repo'] == 'base': repo = gf.get_value_from_config(config, 'assetBaseDirColorToolButton', 'QToolButton') if self.snapshot['repo'] == 'local': repo = gf.get_value_from_config(config, 'localRepoDirColorToolButton', 'QToolButton') # if self.snapshot['repo'] == 'win32_sandbox_dir': # repo = gf.get_value_from_config(config, 'sandboxDirColorToolButton', 'QToolButton') # if self.snapshot['repo'] == 'win32_client_repo_dir': # repo = gf.get_value_from_config(config, 'clientRepoDirColorToolButton', 'QToolButton') # if self.snapshot['repo'] == 'custom_asset_dir': # repo = gf.get_value_from_config(config, 'customRepoDirColorToolButton', 'QToolButton') color = repo[repo.find('rgb'):repo.find('rgb') + 16] repo_colors = color.replace('rgb(', '').replace(')', '').split(',') else: repo_colors = [96, 96, 96] stylesheet = 'QLabel{background: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(255, 255, 255, 0), stop:1 rgba(%s, %s, %s, 96));' \ 'border - bottom: 2px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(255, 255, 255, 0), stop:1 rgba(128, 128, 128, 175));' \ 'padding: 0px;}' % tuple(repo_colors) return stylesheet