| @@ -587,6 +587,13 @@ | |||||
| </property> | </property> | ||||
| </widget> | </widget> | ||||
| </item> | </item> | ||||
| <item> | |||||
| <widget class="QCheckBox" name="cb_canvas_auto_select"> | |||||
| <property name="text"> | |||||
| <string>Auto-select items on hover</string> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | <item> | ||||
| <widget class="QCheckBox" name="cb_canvas_eyecandy"> | <widget class="QCheckBox" name="cb_canvas_eyecandy"> | ||||
| <property name="text"> | <property name="text"> | ||||
| @@ -1410,7 +1417,7 @@ This mode is not available for VST plugins.</string> | |||||
| <include location="../resources.qrc"/> | <include location="../resources.qrc"/> | ||||
| <include location="../resources.qrc"/> | <include location="../resources.qrc"/> | ||||
| <include location="../resources.qrc"/> | <include location="../resources.qrc"/> | ||||
| <include location="../../../Carla-stable/resources/resources.qrc"/> | |||||
| <include location="../resources.qrc"/> | |||||
| </resources> | </resources> | ||||
| <connections> | <connections> | ||||
| <connection> | <connection> | ||||
| @@ -861,11 +861,12 @@ class HostWindow(QMainWindow): | |||||
| def setupCanvas(self): | def setupCanvas(self): | ||||
| pOptions = patchcanvas.options_t() | pOptions = patchcanvas.options_t() | ||||
| pOptions.theme_name = self.fSavedSettings[CARLA_KEY_CANVAS_THEME] | |||||
| pOptions.auto_hide_groups = self.fSavedSettings[CARLA_KEY_CANVAS_AUTO_HIDE_GROUPS] | |||||
| pOptions.use_bezier_lines = self.fSavedSettings[CARLA_KEY_CANVAS_USE_BEZIER_LINES] | |||||
| pOptions.antialiasing = self.fSavedSettings[CARLA_KEY_CANVAS_ANTIALIASING] | |||||
| pOptions.eyecandy = self.fSavedSettings[CARLA_KEY_CANVAS_EYE_CANDY] | |||||
| pOptions.theme_name = self.fSavedSettings[CARLA_KEY_CANVAS_THEME] | |||||
| pOptions.auto_hide_groups = self.fSavedSettings[CARLA_KEY_CANVAS_AUTO_HIDE_GROUPS] | |||||
| pOptions.auto_select_items = self.fSavedSettings[CARLA_KEY_CANVAS_AUTO_SELECT_ITEMS] | |||||
| pOptions.use_bezier_lines = self.fSavedSettings[CARLA_KEY_CANVAS_USE_BEZIER_LINES] | |||||
| pOptions.antialiasing = self.fSavedSettings[CARLA_KEY_CANVAS_ANTIALIASING] | |||||
| pOptions.eyecandy = self.fSavedSettings[CARLA_KEY_CANVAS_EYE_CANDY] | |||||
| pFeatures = patchcanvas.features_t() | pFeatures = patchcanvas.features_t() | ||||
| pFeatures.group_info = False | pFeatures.group_info = False | ||||
| @@ -1272,19 +1273,20 @@ class HostWindow(QMainWindow): | |||||
| # TODO - complete this | # TODO - complete this | ||||
| self.fSavedSettings = { | self.fSavedSettings = { | ||||
| CARLA_KEY_MAIN_PROJECT_FOLDER: settings.value(CARLA_KEY_MAIN_PROJECT_FOLDER, CARLA_DEFAULT_MAIN_PROJECT_FOLDER, type=str), | |||||
| CARLA_KEY_MAIN_REFRESH_INTERVAL: settings.value(CARLA_KEY_MAIN_REFRESH_INTERVAL, CARLA_DEFAULT_MAIN_REFRESH_INTERVAL, type=int), | |||||
| CARLA_KEY_MAIN_USE_CUSTOM_SKINS: settings.value(CARLA_KEY_MAIN_USE_CUSTOM_SKINS, CARLA_DEFAULT_MAIN_USE_CUSTOM_SKINS, type=bool), | |||||
| CARLA_KEY_CANVAS_THEME: settings.value(CARLA_KEY_CANVAS_THEME, CARLA_DEFAULT_CANVAS_THEME, type=str), | |||||
| CARLA_KEY_CANVAS_SIZE: settings.value(CARLA_KEY_CANVAS_SIZE, CARLA_DEFAULT_CANVAS_SIZE, type=str), | |||||
| CARLA_KEY_CANVAS_AUTO_HIDE_GROUPS: settings.value(CARLA_KEY_CANVAS_AUTO_HIDE_GROUPS, CARLA_DEFAULT_CANVAS_AUTO_HIDE_GROUPS, type=bool), | |||||
| CARLA_KEY_CANVAS_USE_BEZIER_LINES: settings.value(CARLA_KEY_CANVAS_USE_BEZIER_LINES, CARLA_DEFAULT_CANVAS_USE_BEZIER_LINES, type=bool), | |||||
| CARLA_KEY_CANVAS_EYE_CANDY: settings.value(CARLA_KEY_CANVAS_EYE_CANDY, CARLA_DEFAULT_CANVAS_EYE_CANDY, type=int), | |||||
| CARLA_KEY_CANVAS_USE_OPENGL: settings.value(CARLA_KEY_CANVAS_USE_OPENGL, CARLA_DEFAULT_CANVAS_USE_OPENGL, type=bool), | |||||
| CARLA_KEY_CANVAS_ANTIALIASING: settings.value(CARLA_KEY_CANVAS_ANTIALIASING, CARLA_DEFAULT_CANVAS_ANTIALIASING, type=int), | |||||
| CARLA_KEY_CANVAS_HQ_ANTIALIASING: settings.value(CARLA_KEY_CANVAS_HQ_ANTIALIASING, CARLA_DEFAULT_CANVAS_HQ_ANTIALIASING, type=bool), | |||||
| CARLA_KEY_CUSTOM_PAINTING: (settings.value(CARLA_KEY_MAIN_USE_PRO_THEME, True, type=bool) and | |||||
| settings.value(CARLA_KEY_MAIN_PRO_THEME_COLOR, "Black", type=str).lower() == "black") | |||||
| CARLA_KEY_MAIN_PROJECT_FOLDER: settings.value(CARLA_KEY_MAIN_PROJECT_FOLDER, CARLA_DEFAULT_MAIN_PROJECT_FOLDER, type=str), | |||||
| CARLA_KEY_MAIN_REFRESH_INTERVAL: settings.value(CARLA_KEY_MAIN_REFRESH_INTERVAL, CARLA_DEFAULT_MAIN_REFRESH_INTERVAL, type=int), | |||||
| CARLA_KEY_MAIN_USE_CUSTOM_SKINS: settings.value(CARLA_KEY_MAIN_USE_CUSTOM_SKINS, CARLA_DEFAULT_MAIN_USE_CUSTOM_SKINS, type=bool), | |||||
| CARLA_KEY_CANVAS_THEME: settings.value(CARLA_KEY_CANVAS_THEME, CARLA_DEFAULT_CANVAS_THEME, type=str), | |||||
| CARLA_KEY_CANVAS_SIZE: settings.value(CARLA_KEY_CANVAS_SIZE, CARLA_DEFAULT_CANVAS_SIZE, type=str), | |||||
| CARLA_KEY_CANVAS_AUTO_HIDE_GROUPS: settings.value(CARLA_KEY_CANVAS_AUTO_HIDE_GROUPS, CARLA_DEFAULT_CANVAS_AUTO_HIDE_GROUPS, type=bool), | |||||
| CARLA_KEY_CANVAS_AUTO_SELECT_ITEMS: settings.value(CARLA_KEY_CANVAS_AUTO_SELECT_ITEMS, CARLA_DEFAULT_CANVAS_AUTO_SELECT_ITEMS, type=bool), | |||||
| CARLA_KEY_CANVAS_USE_BEZIER_LINES: settings.value(CARLA_KEY_CANVAS_USE_BEZIER_LINES, CARLA_DEFAULT_CANVAS_USE_BEZIER_LINES, type=bool), | |||||
| CARLA_KEY_CANVAS_EYE_CANDY: settings.value(CARLA_KEY_CANVAS_EYE_CANDY, CARLA_DEFAULT_CANVAS_EYE_CANDY, type=int), | |||||
| CARLA_KEY_CANVAS_USE_OPENGL: settings.value(CARLA_KEY_CANVAS_USE_OPENGL, CARLA_DEFAULT_CANVAS_USE_OPENGL, type=bool), | |||||
| CARLA_KEY_CANVAS_ANTIALIASING: settings.value(CARLA_KEY_CANVAS_ANTIALIASING, CARLA_DEFAULT_CANVAS_ANTIALIASING, type=int), | |||||
| CARLA_KEY_CANVAS_HQ_ANTIALIASING : settings.value(CARLA_KEY_CANVAS_HQ_ANTIALIASING, CARLA_DEFAULT_CANVAS_HQ_ANTIALIASING, type=bool), | |||||
| CARLA_KEY_CUSTOM_PAINTING: (settings.value(CARLA_KEY_MAIN_USE_PRO_THEME, True, type=bool) and | |||||
| settings.value(CARLA_KEY_MAIN_PRO_THEME_COLOR, "Black", type=str).lower() == "black") | |||||
| } | } | ||||
| self.fMiniCanvasUpdateTimeout = 1000 if self.fSavedSettings[CARLA_KEY_CANVAS_EYE_CANDY] == patchcanvas.EYECANDY_FULL else 0 | self.fMiniCanvasUpdateTimeout = 1000 if self.fSavedSettings[CARLA_KEY_CANVAS_EYE_CANDY] == patchcanvas.EYECANDY_FULL else 0 | ||||
| @@ -320,6 +320,7 @@ class CarlaSettingsW(QDialog): | |||||
| self.ui.cb_canvas_size.setCurrentIndex(self.ui.cb_canvas_size.findText(settings.value(CARLA_KEY_CANVAS_SIZE, CARLA_DEFAULT_CANVAS_SIZE, type=str))) | self.ui.cb_canvas_size.setCurrentIndex(self.ui.cb_canvas_size.findText(settings.value(CARLA_KEY_CANVAS_SIZE, CARLA_DEFAULT_CANVAS_SIZE, type=str))) | ||||
| self.ui.cb_canvas_bezier_lines.setChecked(settings.value(CARLA_KEY_CANVAS_USE_BEZIER_LINES, CARLA_DEFAULT_CANVAS_USE_BEZIER_LINES, type=bool)) | self.ui.cb_canvas_bezier_lines.setChecked(settings.value(CARLA_KEY_CANVAS_USE_BEZIER_LINES, CARLA_DEFAULT_CANVAS_USE_BEZIER_LINES, type=bool)) | ||||
| self.ui.cb_canvas_hide_groups.setChecked(settings.value(CARLA_KEY_CANVAS_AUTO_HIDE_GROUPS, CARLA_DEFAULT_CANVAS_AUTO_HIDE_GROUPS, type=bool)) | self.ui.cb_canvas_hide_groups.setChecked(settings.value(CARLA_KEY_CANVAS_AUTO_HIDE_GROUPS, CARLA_DEFAULT_CANVAS_AUTO_HIDE_GROUPS, type=bool)) | ||||
| self.ui.cb_canvas_auto_select.setChecked(settings.value(CARLA_KEY_CANVAS_AUTO_SELECT_ITEMS, CARLA_DEFAULT_CANVAS_AUTO_SELECT_ITEMS, type=bool)) | |||||
| self.ui.cb_canvas_eyecandy.setCheckState(settings.value(CARLA_KEY_CANVAS_EYE_CANDY, CARLA_DEFAULT_CANVAS_EYE_CANDY, type=int)) | self.ui.cb_canvas_eyecandy.setCheckState(settings.value(CARLA_KEY_CANVAS_EYE_CANDY, CARLA_DEFAULT_CANVAS_EYE_CANDY, type=int)) | ||||
| self.ui.cb_canvas_use_opengl.setChecked(settings.value(CARLA_KEY_CANVAS_USE_OPENGL, CARLA_DEFAULT_CANVAS_USE_OPENGL, type=bool) and self.ui.cb_canvas_use_opengl.isEnabled()) | self.ui.cb_canvas_use_opengl.setChecked(settings.value(CARLA_KEY_CANVAS_USE_OPENGL, CARLA_DEFAULT_CANVAS_USE_OPENGL, type=bool) and self.ui.cb_canvas_use_opengl.isEnabled()) | ||||
| self.ui.cb_canvas_render_aa.setCheckState(settings.value(CARLA_KEY_CANVAS_ANTIALIASING, CARLA_DEFAULT_CANVAS_ANTIALIASING, type=int)) | self.ui.cb_canvas_render_aa.setCheckState(settings.value(CARLA_KEY_CANVAS_ANTIALIASING, CARLA_DEFAULT_CANVAS_ANTIALIASING, type=int)) | ||||
| @@ -439,14 +440,15 @@ class CarlaSettingsW(QDialog): | |||||
| # ---------------------------------------------------------------------------------------------------- | # ---------------------------------------------------------------------------------------------------- | ||||
| # Canvas | # Canvas | ||||
| settings.setValue(CARLA_KEY_CANVAS_THEME, self.ui.cb_canvas_theme.currentText()) | |||||
| settings.setValue(CARLA_KEY_CANVAS_SIZE, self.ui.cb_canvas_size.currentText()) | |||||
| settings.setValue(CARLA_KEY_CANVAS_USE_BEZIER_LINES, self.ui.cb_canvas_bezier_lines.isChecked()) | |||||
| settings.setValue(CARLA_KEY_CANVAS_AUTO_HIDE_GROUPS, self.ui.cb_canvas_hide_groups.isChecked()) | |||||
| settings.setValue(CARLA_KEY_CANVAS_EYE_CANDY, self.ui.cb_canvas_eyecandy.checkState()) # 0, 1, 2 match their enum variants | |||||
| settings.setValue(CARLA_KEY_CANVAS_USE_OPENGL, self.ui.cb_canvas_use_opengl.isChecked()) | |||||
| settings.setValue(CARLA_KEY_CANVAS_HQ_ANTIALIASING, self.ui.cb_canvas_render_hq_aa.isChecked()) | |||||
| settings.setValue(CARLA_KEY_CANVAS_ANTIALIASING, self.ui.cb_canvas_render_aa.checkState()) # 0, 1, 2 match their enum variants | |||||
| settings.setValue(CARLA_KEY_CANVAS_THEME, self.ui.cb_canvas_theme.currentText()) | |||||
| settings.setValue(CARLA_KEY_CANVAS_SIZE, self.ui.cb_canvas_size.currentText()) | |||||
| settings.setValue(CARLA_KEY_CANVAS_USE_BEZIER_LINES, self.ui.cb_canvas_bezier_lines.isChecked()) | |||||
| settings.setValue(CARLA_KEY_CANVAS_AUTO_HIDE_GROUPS, self.ui.cb_canvas_hide_groups.isChecked()) | |||||
| settings.setValue(CARLA_KEY_CANVAS_AUTO_SELECT_ITEMS, self.ui.cb_canvas_auto_select.isChecked()) | |||||
| settings.setValue(CARLA_KEY_CANVAS_EYE_CANDY, self.ui.cb_canvas_eyecandy.checkState()) # 0, 1, 2 match their enum variants | |||||
| settings.setValue(CARLA_KEY_CANVAS_USE_OPENGL, self.ui.cb_canvas_use_opengl.isChecked()) | |||||
| settings.setValue(CARLA_KEY_CANVAS_HQ_ANTIALIASING, self.ui.cb_canvas_render_hq_aa.isChecked()) | |||||
| settings.setValue(CARLA_KEY_CANVAS_ANTIALIASING, self.ui.cb_canvas_render_aa.checkState()) # 0, 1, 2 match their enum variants | |||||
| # ---------------------------------------------------------------------------------------------------- | # ---------------------------------------------------------------------------------------------------- | ||||
| # Engine | # Engine | ||||
| @@ -567,6 +569,7 @@ class CarlaSettingsW(QDialog): | |||||
| self.ui.cb_canvas_size.setCurrentIndex(self.ui.cb_canvas_size.findText(CARLA_DEFAULT_CANVAS_SIZE)) | self.ui.cb_canvas_size.setCurrentIndex(self.ui.cb_canvas_size.findText(CARLA_DEFAULT_CANVAS_SIZE)) | ||||
| self.ui.cb_canvas_bezier_lines.setChecked(CARLA_DEFAULT_CANVAS_USE_BEZIER_LINES) | self.ui.cb_canvas_bezier_lines.setChecked(CARLA_DEFAULT_CANVAS_USE_BEZIER_LINES) | ||||
| self.ui.cb_canvas_hide_groups.setChecked(CARLA_DEFAULT_CANVAS_AUTO_HIDE_GROUPS) | self.ui.cb_canvas_hide_groups.setChecked(CARLA_DEFAULT_CANVAS_AUTO_HIDE_GROUPS) | ||||
| self.ui.cb_canvas_auto_select.setChecked(CARLA_DEFAULT_CANVAS_AUTO_SELECT_ITEMS) | |||||
| self.ui.cb_canvas_eyecandy.setCheckState(Qt.PartiallyChecked) # CARLA_DEFAULT_CANVAS_EYE_CANDY | self.ui.cb_canvas_eyecandy.setCheckState(Qt.PartiallyChecked) # CARLA_DEFAULT_CANVAS_EYE_CANDY | ||||
| self.ui.cb_canvas_use_opengl.setChecked(CARLA_DEFAULT_CANVAS_USE_OPENGL and self.ui.cb_canvas_use_opengl.isEnabled()) | self.ui.cb_canvas_use_opengl.setChecked(CARLA_DEFAULT_CANVAS_USE_OPENGL and self.ui.cb_canvas_use_opengl.isEnabled()) | ||||
| self.ui.cb_canvas_render_aa.setCheckState(Qt.PartiallyChecked) # CARLA_DEFAULT_CANVAS_ANTIALIASING | self.ui.cb_canvas_render_aa.setCheckState(Qt.PartiallyChecked) # CARLA_DEFAULT_CANVAS_ANTIALIASING | ||||
| @@ -189,14 +189,15 @@ CARLA_KEY_MAIN_PRO_THEME_COLOR = "Main/ProThemeColor" # str | |||||
| CARLA_KEY_MAIN_REFRESH_INTERVAL = "Main/RefreshInterval" # int | CARLA_KEY_MAIN_REFRESH_INTERVAL = "Main/RefreshInterval" # int | ||||
| CARLA_KEY_MAIN_USE_CUSTOM_SKINS = "Main/UseCustomSkins" # bool | CARLA_KEY_MAIN_USE_CUSTOM_SKINS = "Main/UseCustomSkins" # bool | ||||
| CARLA_KEY_CANVAS_THEME = "Canvas/Theme" # str | |||||
| CARLA_KEY_CANVAS_SIZE = "Canvas/Size" # str "NxN" | |||||
| CARLA_KEY_CANVAS_USE_BEZIER_LINES = "Canvas/UseBezierLines" # bool | |||||
| CARLA_KEY_CANVAS_AUTO_HIDE_GROUPS = "Canvas/AutoHideGroups" # bool | |||||
| CARLA_KEY_CANVAS_EYE_CANDY = "Canvas/EyeCandy" # enum | |||||
| CARLA_KEY_CANVAS_USE_OPENGL = "Canvas/UseOpenGL" # bool | |||||
| CARLA_KEY_CANVAS_ANTIALIASING = "Canvas/Antialiasing" # enum | |||||
| CARLA_KEY_CANVAS_HQ_ANTIALIASING = "Canvas/HQAntialiasing" # bool | |||||
| CARLA_KEY_CANVAS_THEME = "Canvas/Theme" # str | |||||
| CARLA_KEY_CANVAS_SIZE = "Canvas/Size" # str "NxN" | |||||
| CARLA_KEY_CANVAS_USE_BEZIER_LINES = "Canvas/UseBezierLines" # bool | |||||
| CARLA_KEY_CANVAS_AUTO_HIDE_GROUPS = "Canvas/AutoHideGroups" # bool | |||||
| CARLA_KEY_CANVAS_AUTO_SELECT_ITEMS = "Canvas/AutoSelectItems" # bool | |||||
| CARLA_KEY_CANVAS_EYE_CANDY = "Canvas/EyeCandy" # enum | |||||
| CARLA_KEY_CANVAS_USE_OPENGL = "Canvas/UseOpenGL" # bool | |||||
| CARLA_KEY_CANVAS_ANTIALIASING = "Canvas/Antialiasing" # enum | |||||
| CARLA_KEY_CANVAS_HQ_ANTIALIASING = "Canvas/HQAntialiasing" # bool | |||||
| CARLA_KEY_ENGINE_DRIVER_PREFIX = "Engine/Driver-" | CARLA_KEY_ENGINE_DRIVER_PREFIX = "Engine/Driver-" | ||||
| CARLA_KEY_ENGINE_AUDIO_DRIVER = "Engine/AudioDriver" # str | CARLA_KEY_ENGINE_AUDIO_DRIVER = "Engine/AudioDriver" # str | ||||
| @@ -233,16 +234,17 @@ CARLA_DEFAULT_MAIN_REFRESH_INTERVAL = 20 | |||||
| CARLA_DEFAULT_MAIN_USE_CUSTOM_SKINS = True | CARLA_DEFAULT_MAIN_USE_CUSTOM_SKINS = True | ||||
| # Canvas | # Canvas | ||||
| CARLA_DEFAULT_CANVAS_THEME = "Modern Dark" | |||||
| CARLA_DEFAULT_CANVAS_SIZE = "3100x2400" | |||||
| CARLA_DEFAULT_CANVAS_SIZE_WIDTH = 3100 | |||||
| CARLA_DEFAULT_CANVAS_SIZE_HEIGHT = 2400 | |||||
| CARLA_DEFAULT_CANVAS_USE_BEZIER_LINES = True | |||||
| CARLA_DEFAULT_CANVAS_AUTO_HIDE_GROUPS = True | |||||
| CARLA_DEFAULT_CANVAS_EYE_CANDY = CANVAS_EYECANDY_SMALL | |||||
| CARLA_DEFAULT_CANVAS_USE_OPENGL = False | |||||
| CARLA_DEFAULT_CANVAS_ANTIALIASING = CANVAS_ANTIALIASING_SMALL | |||||
| CARLA_DEFAULT_CANVAS_HQ_ANTIALIASING = False | |||||
| CARLA_DEFAULT_CANVAS_THEME = "Modern Dark" | |||||
| CARLA_DEFAULT_CANVAS_SIZE = "3100x2400" | |||||
| CARLA_DEFAULT_CANVAS_SIZE_WIDTH = 3100 | |||||
| CARLA_DEFAULT_CANVAS_SIZE_HEIGHT = 2400 | |||||
| CARLA_DEFAULT_CANVAS_USE_BEZIER_LINES = True | |||||
| CARLA_DEFAULT_CANVAS_AUTO_HIDE_GROUPS = True | |||||
| CARLA_DEFAULT_CANVAS_AUTO_SELECT_ITEMS = False | |||||
| CARLA_DEFAULT_CANVAS_EYE_CANDY = CANVAS_EYECANDY_SMALL | |||||
| CARLA_DEFAULT_CANVAS_USE_OPENGL = False | |||||
| CARLA_DEFAULT_CANVAS_ANTIALIASING = CANVAS_ANTIALIASING_SMALL | |||||
| CARLA_DEFAULT_CANVAS_HQ_ANTIALIASING = False | |||||
| # Engine | # Engine | ||||
| CARLA_DEFAULT_FORCE_STEREO = False | CARLA_DEFAULT_FORCE_STEREO = False | ||||
| @@ -106,6 +106,7 @@ class options_t(object): | |||||
| __slots__ = [ | __slots__ = [ | ||||
| 'theme_name', | 'theme_name', | ||||
| 'auto_hide_groups', | 'auto_hide_groups', | ||||
| 'auto_select_items', | |||||
| 'use_bezier_lines', | 'use_bezier_lines', | ||||
| 'antialiasing', | 'antialiasing', | ||||
| 'eyecandy' | 'eyecandy' | ||||
| @@ -244,10 +245,11 @@ canvas.animation_list = [] | |||||
| options = options_t() | options = options_t() | ||||
| options.theme_name = getDefaultThemeName() | options.theme_name = getDefaultThemeName() | ||||
| options.auto_hide_groups = False | |||||
| options.use_bezier_lines = True | |||||
| options.antialiasing = ANTIALIASING_SMALL | |||||
| options.eyecandy = EYECANDY_SMALL | |||||
| options.auto_hide_groups = False | |||||
| options.auto_select_items = False | |||||
| options.use_bezier_lines = True | |||||
| options.antialiasing = ANTIALIASING_SMALL | |||||
| options.eyecandy = EYECANDY_SMALL | |||||
| features = features_t() | features = features_t() | ||||
| features.group_info = False | features.group_info = False | ||||
| @@ -313,11 +315,12 @@ def split2str(split): | |||||
| # PatchCanvas API | # PatchCanvas API | ||||
| def setOptions(new_options): | def setOptions(new_options): | ||||
| if canvas.initiated: return | if canvas.initiated: return | ||||
| options.theme_name = new_options.theme_name | |||||
| options.auto_hide_groups = new_options.auto_hide_groups | |||||
| options.use_bezier_lines = new_options.use_bezier_lines | |||||
| options.antialiasing = new_options.antialiasing | |||||
| options.eyecandy = new_options.eyecandy | |||||
| options.theme_name = new_options.theme_name | |||||
| options.auto_hide_groups = new_options.auto_hide_groups | |||||
| options.auto_select_items = new_options.auto_select_items | |||||
| options.use_bezier_lines = new_options.use_bezier_lines | |||||
| options.antialiasing = new_options.antialiasing | |||||
| options.eyecandy = new_options.eyecandy | |||||
| def setFeatures(new_features): | def setFeatures(new_features): | ||||
| if canvas.initiated: return | if canvas.initiated: return | ||||
| @@ -1765,6 +1768,9 @@ class CanvasPort(QGraphicsItem): | |||||
| self.setFlags(QGraphicsItem.ItemIsSelectable) | self.setFlags(QGraphicsItem.ItemIsSelectable) | ||||
| if options.auto_select_items: | |||||
| self.setAcceptHoverEvents(True) | |||||
| def getGroupId(self): | def getGroupId(self): | ||||
| return self.m_group_id | return self.m_group_id | ||||
| @@ -1814,6 +1820,16 @@ class CanvasPort(QGraphicsItem): | |||||
| def type(self): | def type(self): | ||||
| return CanvasPortType | return CanvasPortType | ||||
| def hoverEnterEvent(self, event): | |||||
| if options.auto_select_items: | |||||
| self.setSelected(True) | |||||
| QGraphicsItem.hoverEnterEvent(self, event) | |||||
| def hoverLeaveEvent(self, event): | |||||
| if options.auto_select_items: | |||||
| self.setSelected(False) | |||||
| QGraphicsItem.hoverLeaveEvent(self, event) | |||||
| def mousePressEvent(self, event): | def mousePressEvent(self, event): | ||||
| self.m_hover_item = None | self.m_hover_item = None | ||||
| self.m_mouse_down = bool(event.button() == Qt.LeftButton) | self.m_mouse_down = bool(event.button() == Qt.LeftButton) | ||||
| @@ -2154,6 +2170,9 @@ class CanvasBox(QGraphicsItem): | |||||
| self.setFlag(QGraphicsItem.ItemIsFocusable, True) | self.setFlag(QGraphicsItem.ItemIsFocusable, True) | ||||
| if options.auto_select_items: | |||||
| self.setAcceptHoverEvents(True) | |||||
| self.updatePositions() | self.updatePositions() | ||||
| canvas.scene.addItem(self) | canvas.scene.addItem(self) | ||||
| @@ -2602,6 +2621,13 @@ class CanvasBox(QGraphicsItem): | |||||
| return event.accept() | return event.accept() | ||||
| QGraphicsItem.keyPressEvent(self, event) | QGraphicsItem.keyPressEvent(self, event) | ||||
| def hoverEnterEvent(self, event): | |||||
| if options.auto_select_items: | |||||
| if len(canvas.scene.selectedItems()) > 0: | |||||
| canvas.scene.clearSelection() | |||||
| self.setSelected(True) | |||||
| QGraphicsItem.hoverEnterEvent(self, event) | |||||
| def mouseDoubleClickEvent(self, event): | def mouseDoubleClickEvent(self, event): | ||||
| if self.m_plugin_id >= 0: | if self.m_plugin_id >= 0: | ||||
| canvas.callback(ACTION_PLUGIN_SHOW_UI if self.m_plugin_ui else ACTION_PLUGIN_EDIT, self.m_plugin_id, 0, "") | canvas.callback(ACTION_PLUGIN_SHOW_UI if self.m_plugin_ui else ACTION_PLUGIN_EDIT, self.m_plugin_id, 0, "") | ||||