can't right-click empty space + color eyedropper

This commit is contained in:
tassaron 2017-06-11 12:52:29 -04:00
parent 59c2c090ab
commit be5d47f863
5 changed files with 26 additions and 17 deletions

View File

@ -24,7 +24,9 @@ class Component:
exec('self.%s = value' % var)
def pickColor(self):
color = QtGui.QColorDialog.getColor()
dialog = QtGui.QColorDialog()
dialog.setOption(QtGui.QColorDialog.ShowAlphaChannel, True)
color = dialog.getColor()
if color.isValid():
RGBstring = '%s,%s,%s' % (
str(color.red()), str(color.green()), str(color.blue()))

View File

@ -31,7 +31,7 @@ class Component(__base__.Component):
page.comboBox_textAlign.addItem("Right")
page.lineEdit_textColor.setText('%s,%s,%s' % self.textColor)
page.pushButton_textColor.clicked.connect(lambda: self.pickColor())
page.pushButton_textColor.clicked.connect(self.pickColor)
btnStyle = "QPushButton { background-color : %s; outline: none; }" \
% QColor(*self.textColor).name()
page.pushButton_textColor.setStyleSheet(btnStyle)

View File

@ -95,9 +95,9 @@ class Core():
origName, saveValueStore,
exportPath
)
return True
except:
# TODO: add proper warning message
print('couldn\'t export %s' % exportPath)
return False
def createPresetFile(
self, compName, vers, presetName, saveValueStore, filepath=''):

View File

@ -606,20 +606,25 @@ class MainWindow(QtCore.QObject):
def componentContextMenu(self, QPos):
'''Appears when right-clicking a component in the list'''
if not self.window.listWidget_componentList.selectedItems():
componentList = self.window.listWidget_componentList
if not componentList.selectedItems():
return
# don't show menu if clicking empty space
parentPosition = componentList.mapToGlobal(QtCore.QPoint(0, 0))
index = componentList.currentRow()
modelIndex = componentList.model().index(index)
if not componentList.visualRect(modelIndex).contains(QPos):
return
self.presetManager.findPresets()
self.menu = QtGui.QMenu()
menuItem = self.menu.addAction("Save Preset")
self.connect(
menuItem,
QtCore.SIGNAL("triggered()"),
menuItem.triggered.connect(
self.presetManager.openSavePresetDialog
)
# submenu for opening presets
index = self.window.listWidget_componentList.currentRow()
try:
presets = self.presetManager.presets[str(self.core.selectedComponents[index])]
self.submenu = QtGui.QMenu("Open Preset")
@ -627,14 +632,12 @@ class MainWindow(QtCore.QObject):
for version, presetName in presets:
menuItem = self.submenu.addAction(presetName)
self.connect(
menuItem,
QtCore.SIGNAL("triggered()"),
lambda presetName=presetName:
menuItem.triggered.connect(
lambda _, presetName=presetName:
self.presetManager.openPreset(presetName)
)
except KeyError as e:
print(e)
parentPosition = self.window.listWidget_componentList.mapToGlobal(QtCore.QPoint(0, 0))
except KeyError:
pass
self.menu.move(parentPosition + QPos)
self.menu.show()

View File

@ -259,4 +259,8 @@ class PresetManager(QtGui.QDialog):
if filename:
index = self.window.listWidget_presets.currentRow()
comp, vers, name = self.presetRows[index]
self.core.exportPreset(filename, comp, vers, name)
if not self.core.exportPreset(filename, comp, vers, name):
self.parent.showMessage(
msg='Couldn\'t export %s.' % filename,
parent=self.window
)