diff --git a/W_hotbox.py b/W_hotbox.py
index f263d80..b615ec7 100644
--- a/W_hotbox.py
+++ b/W_hotbox.py
@@ -1,14 +1,15 @@
#----------------------------------------------------------------------------------------------------------
# Wouter Gilsing
# woutergilsing@hotmail.com
-version = '1.4'
-releaseDate = 'November 16 2016'
+version = '1.5'
+releaseDate = 'December 11 2016'
#----------------------------------------------------------------------------------------------------------
#
#LICENSE
#
#----------------------------------------------------------------------------------------------------------
+
'''
Copyright (c) 2016, Wouter Gilsing
All rights reserved.
@@ -45,8 +46,10 @@
import subprocess
import platform
import traceback
-
import colorsys
+import W_hotboxManager
+
+preferencesNode = nuke.toNode('preferences')
#----------------------------------------------------------------------------------------------------------
@@ -62,6 +65,8 @@ def __init__(self, subMenuMode = False, path = '', name = '', position = ''):
self.setWindowFlags(QtCore.Qt.FramelessWindowHint | QtCore.Qt.WindowStaysOnTopHint)
+ self.triggerMode = preferencesNode.knob('hotboxTriggerDropdown').getValue()
+
if not preferencesNode.knob('hotboxOpaqueBackground').value():
self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
@@ -202,9 +207,22 @@ def keyReleaseEvent(self, event):
if event.text() == shortcut:
global lastPosition
lastPosition = ''
- self.closeHotbox()
+
+ # if set to single tap, leave the hotbox open after launching
+ if not self.triggerMode:
+ self.closeHotbox()
+
return True
+ def keyPressEvent(self, event):
+ if event.text() == shortcut:
+ if event.isAutoRepeat():
+ return False
+ if self.triggerMode:
+ self.closeHotbox()
+ else:
+ return False
+
def eventFilter(self, object, event):
if event.type() in [QtCore.QEvent.WindowDeactivate,QtCore.QEvent.FocusOut]:
self.closeHotbox()
@@ -467,6 +485,7 @@ def __init__(self, name, function = None):
super(hotboxButton, self).__init__()
+ self.menuButton = False
self.filePath = name
self.bgColor = '#525252'
@@ -488,7 +507,7 @@ def __init__(self, name, function = None):
#----------------------------------------------------------------------------------------------
if os.path.isdir(self.filePath):
-
+ self.menuButton = True
name = open(self.filePath+'/_name.json').read()
self.function = 'showHotboxSubMenu("%s","%s")'%(self.filePath,name)
self.bgColor = '#333333'
@@ -543,6 +562,11 @@ def invokeButton(self):
except:
self.printError(traceback.format_exc())
+ #if 'close on click' is ticked, close the hotbox
+ if not self.menuButton:
+ if preferencesNode.knob('hotboxCloseOnClick').value() and preferencesNode.knob('hotboxTriggerDropdown').value():
+ hotboxInstance.closeHotbox()
+
def printError(self, error):
fullError = error.splitlines()
@@ -627,28 +651,26 @@ def mouseReleaseEvent(self,event):
nuke.Undo().name(self.text())
nuke.Undo().begin()
-
-
self.invokeButton()
-
-
nuke.Undo().end()
return True
#----------------------------------------------------------------------------------------------------------
-#Preferences
+# Preferences
#----------------------------------------------------------------------------------------------------------
-def addToPreferences(knobObject):
+def addToPreferences(knobObject, tooltip = None):
'''
Add a knob to the preference panel.
Save current preferences to the prefencesfile in the .nuke folder.
'''
- preferencesNode = nuke.toNode('preferences')
if knobObject.name() not in preferencesNode.knobs().keys():
+ if tooltip != None:
+ knobObject.setTooltip(tooltip)
+
preferencesNode.addKnob(knobObject)
savePreferencesToFile()
return preferencesNode.knob(knobObject.name())
@@ -712,85 +734,158 @@ def addPreferences():
#location knob
locationKnob = nuke.File_Knob('hotboxLocation','Hotbox location')
- locationKnobAdded = addToPreferences(locationKnob)
+
+ tooltip = "The folder on disk the Hotbox uses to store the Hotbox buttons. Make sure this path links to the folder containing the 'All','Single' and 'Multiple' folders."
+
+ locationKnobAdded = addToPreferences(locationKnob, tooltip)
+
if locationKnobAdded != None:
locationKnob.setValue(homeFolder + '/W_hotbox')
#icons knob
iconLocationKnob = nuke.File_Knob('hotboxIconLocation','Icons location')
iconLocationKnob.setValue(homeFolder +'/icons/W_hotbox')
- addToPreferences(iconLocationKnob)
+
+ tooltip = "The folder on disk the where the Hotbox related icons are stored. Make sure this path links to the folder containing the PNG files."
+ addToPreferences(iconLocationKnob, tooltip)
+
+ #open manager button
+ openManagerKnob = nuke.PyScript_Knob('hotboxOpenManager','open hotbox manager','W_hotboxManager.showHotboxManager()')
+ openManagerKnob.setFlag(nuke.STARTLINE)
+
+ tooltip = "Open the Hotbox Manager."
+
+ addToPreferences(openManagerKnob, tooltip)
+
+ #open in file system button knob
+ openFolderKnob = nuke.PyScript_Knob('hotboxOpenFolder','open hotbox folder','W_hotbox.revealInBrowser(True)')
+
+ tooltip = "Open the folder containing the files that store the Hotbox buttons. It's advised not to mess around in this folder unless you understand what you're doing."
+
+ addToPreferences(openFolderKnob, tooltip)
+
+ #delete preferences button knob
+ deletePreferencesKnob = nuke.PyScript_Knob('hotboxDeletePreferences','delete preferences','W_hotbox.deletePreferences()')
+
+ tooltip = "Delete all the Hotbox related knobs from the Preferences Panel. After clicking this button the Preferences Panel should be closed by clicking the 'cancel' button."
+
+ addToPreferences(deletePreferencesKnob, tooltip)
+
+ #Launch Label knob
+ addToPreferences(nuke.Text_Knob('hotboxLaunchLabel','Launch'))
#shortcut knob
- shortcutKnob = nuke.String_Knob('hotboxShortcut','shortcut')
+ shortcutKnob = nuke.String_Knob('hotboxShortcut','Shortcut')
shortcutKnob.setValue('`')
- addToPreferences(shortcutKnob)
+
+ tooltip = "The key that triggers the Hotbox. Should be set to a single key without any modifier keys. Spacebar can be defined as 'space'. A restart is required in order for the changes to take effect."
+
+ addToPreferences(shortcutKnob, tooltip)
global shortcut
shortcut = preferencesNode.knob('hotboxShortcut').value()
- #transparency knob
- opaqueKnob = nuke.Boolean_Knob('hotboxOpaqueBackground', 'Disable transparancy')
- opaqueKnob.setValue(False)
- opaqueKnob.setFlag(nuke.STARTLINE)
- addToPreferences(opaqueKnob)
+ #trigger mode knob
+ triggerDropdownKnob = nuke.Enumeration_Knob('hotboxTriggerDropdown', 'Launch mode',['Press and Hold','Single Tap'])
- #Check if the compositing manager is running. If thats not the case, disable the transparancy.
- if not preferencesNode.knob('hotboxOpaqueBackground').value():
- try:
- if not QtGui.QX11Info.isCompositingManagerRunning():
- preferencesNode.knob('hotBoxOpaqueBackground').setValue(True)
- except:
- pass
+ tooltip = "The way the hotbox is launched. When set to 'Press and Hold' the Hotbox will appear whenever the shortcut is pressed and disappear as soon as the user releases the key. When set to 'Single Tap' the shortcut will toggle the Hotbox on and off."
- #open manager button
- openManagerKnob = nuke.PyScript_Knob('hotboxOpenManager','open hotbox manager','W_hotboxManager.showHotboxManager()')
- openManagerKnob.setFlag(nuke.STARTLINE)
- addToPreferences(openManagerKnob)
+ addToPreferences(triggerDropdownKnob, tooltip)
- #open in file system button
- openFolderKnob = nuke.PyScript_Knob('hotboxOpenFolder','open hotbox folder','W_hotbox.revealInBrowser(True)')
- addToPreferences(openFolderKnob)
+ #close on click
+ closeAfterClickKnob = nuke.Boolean_Knob('hotboxCloseOnClick','Close on button click')
+ closeAfterClickKnob.setValue(False)
+ closeAfterClickKnob.clearFlag(nuke.STARTLINE)
- #delete preferences button
- deletePreferencesKnob = nuke.PyScript_Knob('hotboxDeletePreferences','delete preferences','W_hotbox.deletePreferences()')
- addToPreferences(deletePreferencesKnob)
+ tooltip = "Close the Hotbox whenever a button is clicked (excluding submenus obviously). This option will only take effect when the launch mode is set to 'Single Tap'."
+ addToPreferences(closeAfterClickKnob, tooltip)
+
+ #Appearence knob
addToPreferences(nuke.Text_Knob('hotboxAppearanceLabel','Appearance'))
+ #color dropdown knob
colorDropdownKnob = nuke.Enumeration_Knob('hotboxColorDropdown', 'Color scheme',['Maya','Nuke','Custom'])
- addToPreferences(colorDropdownKnob)
+ tooltip = "The color of the buttons when selected. Options are 'Maya' (Autodesk Maya's muted blue), 'Nuke' (Nuke's bright orange) or 'Custom' (which lets the user pick a color)."
+
+ addToPreferences(colorDropdownKnob, tooltip)
+
+ #custom color knob
colorCustomKnob = nuke.ColorChip_Knob('hotboxColorCustom','')
colorCustomKnob.clearFlag(nuke.STARTLINE)
- addToPreferences(colorCustomKnob)
+ tooltip = "The color of the buttons when selected, when the color dropdown is set to 'Custom'."
+
+ addToPreferences(colorCustomKnob, tooltip)
+
+ #hotbox center knob
colorHotboxCenterKnob = nuke.Boolean_Knob('hotboxColorCenter','Colorize hotbox center')
colorHotboxCenterKnob.setValue(True)
colorHotboxCenterKnob.clearFlag(nuke.STARTLINE)
- addToPreferences(colorHotboxCenterKnob)
+
+ tooltip = "Color the center button of the hotbox depending on the current selection. When unticked the center button will be coloured a lighter tone of grey."
+
+ addToPreferences(colorHotboxCenterKnob, tooltip)
#fontsize knob
fontSizeKnob = nuke.Int_Knob('hotboxFontSize','Font size')
fontSizeKnob.setValue(9)
- addToPreferences(fontSizeKnob)
+
+ tooltip = "The font size of the text that appears in the hotbox buttons, unless defined differently on a per-button level."
+
+ addToPreferences(fontSizeKnob, tooltip)
+
+ #transparency knob
+ opaqueKnob = nuke.Boolean_Knob('hotboxOpaqueBackground', 'Disable transparancy')
+ opaqueKnob.setValue(False)
+ opaqueKnob.setFlag(nuke.STARTLINE)
+
+ tooltip = "This option was introduced because the Hotbox might have some trouble displaying correctly on Linux running a KDE environment.\n\nIt's recommanded to fix this problem by changing the KDE system settings. Alternatively the transparency can be disabled completely. This option is also available on Windows and Mac OSX."
+
+ addToPreferences(opaqueKnob, tooltip)
+
+ #Check if the compositing manager is running. If thats not the case, disable the transparancy.
+ if not preferencesNode.knob('hotboxOpaqueBackground').value():
+ try:
+ if not QtGui.QX11Info.isCompositingManagerRunning():
+ preferencesNode.knob('hotBoxOpaqueBackground').setValue(True)
+ except:
+ pass
addToPreferences(nuke.Text_Knob('hotboxItemsLabel','Items per Row'))
+ #row amount selection knob
rowAmountSelectionKnob = nuke.Int_Knob('hotboxRowAmountSelection', 'Selection specific')
+ rowAmountSelectionKnob.setValue(3)
+
+ tooltip = "The maximum amount of buttons a row in the upper half of the Hotbox can contain. When the row's maximum capacity is reached a new row will be started. This new row's maximum capacity will be incremented by the step size."
+
+ addToPreferences(rowAmountSelectionKnob, tooltip)
+
+ #row amount all knob
rowAmountSelectionAll = nuke.Int_Knob('hotboxRowAmountAll','All')
+ rowAmountSelectionAll.setValue(3)
- for knob in [rowAmountSelectionKnob,rowAmountSelectionAll]:
- knob.setValue(3)
- addToPreferences(knob)
-
+ tooltip = "The maximum amount of buttons a row in the lower half of the Hotbox can contain. When the row's maximum capacity is reached a new row will be started.This new row's maximum capacity will be incremented by the step size."
+
+ addToPreferences(rowAmountSelectionAll, tooltip)
+
+ #stepsize knob
stepSizeKnob = nuke.Int_Knob('hotboxRowStepSize','Step size')
stepSizeKnob.setValue(1)
- addToPreferences(stepSizeKnob)
+ tooltip = "The amount a buttons every new row's maximum capacity will be increased by. Having a number unequal to zero will result in a triangular shape when having multiple rows of buttons."
+
+ addToPreferences(stepSizeKnob, tooltip)
+
+ #spawnmode knob
spawnModeKnob = nuke.Boolean_Knob('hotboxButtonSpawnMode','Add new buttons to the sides')
spawnModeKnob.setValue(True)
spawnModeKnob.setFlag(nuke.STARTLINE)
- addToPreferences(spawnModeKnob)
+
+ tooltip = "Add new buttons left and right of the row alternately, instead of to the right, in order to preserve muscle memory."
+
+ addToPreferences(spawnModeKnob, tooltip)
#hide the iconLocation knob if environment varible called 'W_HOTBOX_HIDE_ICON_LOC' is set to 'true' or '1'
preferencesNode.knob('hotboxIconLocation').setVisible(True)
@@ -834,9 +929,12 @@ def updatePreferences():
if 'hotboxVersion' in allKnobs or forceUpdate:
if not forceUpdate:
- if float(version) == float(preferencesNode.knob('hotboxVersion').value()):
- proceedUpdate = False
-
+ try:
+ if float(version) == float(preferencesNode.knob('hotboxVersion').value()):
+ proceedUpdate = False
+ except:
+ proceedUpdate = True
+
if proceedUpdate:
currentSettings = {knob:preferencesNode.knob(knob).value() for knob in allKnobs if knob.startswith('hotbox') and knob != 'hotboxVersion'}
@@ -950,6 +1048,12 @@ def showHotbox(force = False, resetPosition = True):
global hotboxInstance
+ #is launch mode is set to single tap, close the hotbox if it's open
+ if preferencesNode.knob('hotboxTriggerDropdown').getValue() and not force:
+ if hotboxInstance != None and hotboxInstance.active:
+ hotboxInstance.closeHotbox()
+ return
+
if force:
hotboxInstance.active = False
hotboxInstance.close()
@@ -978,7 +1082,6 @@ def showHotboxManager():
#----------------------------------------------------------------------------------------------------------
-nuke.tprint('W_hotbox v%s, built %s.\nCopyright (c) 2016 Wouter Gilsing. All Rights Reserved.'%(version,releaseDate))
#add knobs to preferences
preferencesNode = nuke.toNode('preferences')
@@ -1002,12 +1105,32 @@ def showHotboxManager():
pass
#----------------------------------------------------------------------------------------------------------
+# MENU ITEMS
+#----------------------------------------------------------------------------------------------------------
-#check for environment variables to add extra repositories
+menubar = nuke.menu('Nuke')
+
+menubar.addCommand('Edit/-', '', '')
+menubar.addCommand('Edit/W_hotbox/Open W_hotbox',showHotbox, shortcut)
+menubar.addCommand('Edit/W_hotbox/-', '', '')
+menubar.addCommand('Edit/W_hotbox/Open Hotbox Manager', 'W_hotboxManager.showHotboxManager()')
+menubar.addCommand('Edit/W_hotbox/Open in %s'%getFileBrowser(), revealInBrowser)
+menubar.addCommand('Edit/W_hotbox/-', '', '')
+menubar.addCommand('Edit/W_hotbox/Repair', 'W_hotboxManager.repairHotbox()')
+menubar.addCommand('Edit/W_hotbox/Clear/Clear Everything', 'W_hotboxManager.clearHotboxManager()')
+menubar.addCommand('Edit/W_hotbox/Clear/Clear Section/Single', 'W_hotboxManager.clearHotboxManager(["Single"])')
+menubar.addCommand('Edit/W_hotbox/Clear/Clear Section/Multiple', 'W_hotboxManager.clearHotboxManager(["Multiple"])')
+menubar.addCommand('Edit/W_hotbox/Clear/Clear Section/All', 'W_hotboxManager.clearHotboxManager(["All"])')
+
+#----------------------------------------------------------------------------------------------------------
+# EXTRA REPOSTITORIES
+#----------------------------------------------------------------------------------------------------------
'''
-add them line this:
-NUKE_HOTBOX_REPO_PATHS=/path1:/path2:/path3
-NUKE_HOTBOX_REPO_NAMES=name1:name2:name3
+Add them like this:
+
+W_HOTBOX_REPO_PATHS=/path1:/path2:/path3
+W_HOTBOX_REPO_NAMES=name1:name2:name3
+
'''
extraRepositories = []
@@ -1028,25 +1151,18 @@ def showHotboxManager():
if name not in [i[0] for i in extraRepositories] and path not in [i[1] for i in extraRepositories]:
extraRepositories.append([name,path])
-#----------------------------------------------------------------------------------------------------------
-import W_hotboxManager
+
+ if len(extraRepositories) > 0:
+ menubar.addCommand('Edit/W_hotbox/-', '', '')
+ for i in extraRepositories:
+ menubar.addCommand('Edit/W_hotbox/Special/Open Hotbox Manager - %s'%i[0], 'W_hotboxManager.showHotboxManager(path="%s")'%i[1])
+
+#----------------------------------------------------------------------------------------------------------
hotboxInstance = None
lastPosition = ''
-#----------------------------------------------------------------------------------------------------------
-#add menu items
-
-nuke.menu('Nuke').addCommand('Edit/W_hotbox/Open W_hotbox',showHotbox, shortcut)
-nuke.menu('Nuke').addCommand('Edit/W_hotbox/Open Hotbox Manager', 'W_hotboxManager.showHotboxManager()')
-nuke.menu('Nuke').addCommand('Edit/W_hotbox/Open in %s'%getFileBrowser(), revealInBrowser)
-nuke.menu('Nuke').addCommand('Edit/W_hotbox/Repair', 'W_hotboxManager.repairHotbox()')
-nuke.menu('Nuke').addCommand('Edit/W_hotbox/Clear/Clear Everything', 'W_hotboxManager.clearHotboxManager()')
-nuke.menu('Nuke').addCommand('Edit/W_hotbox/Clear/Clear Section/Single', 'W_hotboxManager.clearHotboxManager(["Single"])')
-nuke.menu('Nuke').addCommand('Edit/W_hotbox/Clear/Clear Section/Multiple', 'W_hotboxManager.clearHotboxManager(["Multiple"])')
-nuke.menu('Nuke').addCommand('Edit/W_hotbox/Clear/Clear Section/All', 'W_hotboxManager.clearHotboxManager(["All"])')
-
-if len(extraRepositories) > 0:
- for i in extraRepositories:
- nuke.menu('Nuke').addCommand('Edit/W_hotbox/Special/Open Hotbox Manager - %s'%i[0], 'W_hotboxManager.showHotboxManager(path="%s")'%i[1])
\ No newline at end of file
+#----------------------------------------------------------------------------------------------------------
+
+nuke.tprint('W_hotbox v%s, built %s.\nCopyright (c) 2016 Wouter Gilsing. All Rights Reserved.'%(version,releaseDate))
diff --git a/W_hotboxManager.py b/W_hotboxManager.py
index 979b63d..b58c460 100644
--- a/W_hotboxManager.py
+++ b/W_hotboxManager.py
@@ -1,14 +1,15 @@
#----------------------------------------------------------------------------------------------------------
# Wouter Gilsing
# woutergilsing@hotmail.com
-version = '1.4'
-releaseDate = 'November 16 2016'
+version = '1.5'
+releaseDate = 'December 11 2016'
#----------------------------------------------------------------------------------------------------------
#
#LICENSE
#
#----------------------------------------------------------------------------------------------------------
+
'''
Copyright (c) 2016, Wouter Gilsing
All rights reserved.
@@ -37,12 +38,13 @@
#----------------------------------------------------------------------------------------------------------
+import nuke
+
from PySide import QtGui, QtCore
-import datetime
-import nuke
import os
import shutil
+import datetime
import base64
import re
import webbrowser
@@ -50,6 +52,8 @@
preferencesNode = nuke.toNode('preferences')
+#----------------------------------------------------------------------------------------------------------
+
class hotboxManager(QtGui.QWidget):
def __init__(self, path = ''):
super(hotboxManager, self).__init__()
@@ -427,6 +431,7 @@ def loadScriptEditor(self):
activeColor = '#3a3a3a'
lockedColor = '#262626'
+ self.scriptEditorScript.savedText = ''
if len(self.hotboxItemsTree.selectedItems) != 0:
self.selectedItem = self.hotboxItemsTree.selectedItems[0]
@@ -451,6 +456,7 @@ def loadScriptEditor(self):
for index, line in enumerate(openFile):
if not line.startswith('#'):
text = ''.join(openFile[index+1:]).replace('\t',' '*4)
+ self.scriptEditorScript.savedText = text
self.scriptEditorScript.setPlainText(text)
break
self.scriptEditorScript.setReadOnly(False)
@@ -501,14 +507,22 @@ def saveScriptEditor(self):
name = self.scriptEditorName.text()
+ #check whether button or subfolder
if not os.path.isdir(self.selectedItem.path):
- newFileContent = fileHeader(name).getHeader() + self.scriptEditorScript.toPlainText()
+ #save to disk
+ text = self.scriptEditorScript.toPlainText()
+ newFileContent = fileHeader(name).getHeader() + text
currentFile = open(self.selectedItem.path, 'w')
currentFile.write(newFileContent)
currentFile.close()
+ #change border color
+ self.scriptEditorScript.savedText = text
+ self.scriptEditorScript.updateSaveState(True)
+
else:
+ #save to disk
currentFile = open(self.selectedItem.path+'/_name.json', 'w')
currentFile.write(name)
currentFile.close()
@@ -758,8 +772,6 @@ def openAboutDialog(self):
class scriptEditorWidget(QtGui.QPlainTextEdit):
'''
Script editor widget.
-
-
'''
#Signal that will be emitted when the user has changed the text
@@ -768,9 +780,13 @@ class scriptEditorWidget(QtGui.QPlainTextEdit):
def __init__(self):
super(scriptEditorWidget, self).__init__()
+ self.savedText = ''
+ self.saveColor = 'grey'
+
#Setup line numbers
self.lineNumberArea = LineNumberArea(self)
self.blockCountChanged.connect(self.updateLineNumberAreaWidth)
+ self.textChanged.connect(self.updateSaveState)
self.updateRequest.connect(self.updateLineNumberArea)
self.updateLineNumberAreaWidth()
@@ -843,7 +859,6 @@ def lineNumberAreaPaintEvent(self, event):
painter.setPen(textColor)
-
number = "%s " % str(blockNumber + 1)
painter.drawText(0, top, self.lineNumberArea.width(), self.fontMetrics().height(), QtCore.Qt.AlignRight, number)
@@ -853,6 +868,7 @@ def lineNumberAreaPaintEvent(self, event):
bottom = top + int(self.blockBoundingRect(block).height())
blockNumber += 1
+
#--------------------------------------------------------------------------------------------------
#Auto indent
#--------------------------------------------------------------------------------------------------
@@ -862,7 +878,6 @@ def keyPressEvent(self, event):
Custom actions for specific keystrokes
'''
-
#if Tab convert to Space
if event.key() == 16777217:
self.indentation('indent')
@@ -883,6 +898,7 @@ def keyPressEvent(self, event):
self.indentNewLine()
else:
QtGui.QPlainTextEdit.keyPressEvent(self, event)
+
#--------------------------------------------------------------------------------------------------
def getCursorInfo(self):
@@ -1046,9 +1062,29 @@ def blocks2list(self, blocks, mode = None):
return text
#--------------------------------------------------------------------------------------------------
- #syntax hightlighting
+ #current line hightlighting
#--------------------------------------------------------------------------------------------------
+ def updateSaveState(self, saved = False):
+ '''
+ Change border color according to state of text
+ '''
+
+ if saved:
+ newsaveColor = 'green'
+
+ else:
+
+ if self.toPlainText() == self.savedText:
+ newsaveColor = 'grey'
+ else:
+ newsaveColor = 'orange'
+
+ if newsaveColor != self.saveColor:
+ self.saveColor = newsaveColor
+
+ self.highlightCurrentLine()
+
def highlightCurrentLine(self):
'''
Highlight currently selected line
@@ -1057,7 +1093,15 @@ def highlightCurrentLine(self):
selection = QtGui.QTextEdit.ExtraSelection()
- lineColor = QtGui.QColor(88, 88, 88, 255)
+ #change depending on save state
+ if self.saveColor == 'orange':
+ lineColor = QtGui.QColor(88, 88, 88, 255)
+
+ elif self.saveColor == 'green':
+ lineColor = QtGui.QColor(44, 88, 44, 255)
+ self.saveColor = 'grey'
+ else:
+ lineColor = QtGui.QColor(44, 44, 44, 255)
if not self.hasFocus():
lineColor = QtGui.QColor(88, 88, 88, 0)
diff --git a/W_hotbox_UserGuide_v1.4.pdf b/W_hotbox_UserGuide_v1.5.pdf
similarity index 86%
rename from W_hotbox_UserGuide_v1.4.pdf
rename to W_hotbox_UserGuide_v1.5.pdf
index 6c76e1d..0d75072 100644
Binary files a/W_hotbox_UserGuide_v1.4.pdf and b/W_hotbox_UserGuide_v1.5.pdf differ
diff --git a/icons/W_hotbox/hotbox_addFolder_clicked.png b/icons/W_hotbox/hotbox_addFolder_clicked.png
deleted file mode 100644
index c7ea59f..0000000
Binary files a/icons/W_hotbox/hotbox_addFolder_clicked.png and /dev/null differ
diff --git a/icons/W_hotbox/hotbox_addFolder_hover.png b/icons/W_hotbox/hotbox_addFolder_hover.png
deleted file mode 100644
index 76d90cb..0000000
Binary files a/icons/W_hotbox/hotbox_addFolder_hover.png and /dev/null differ
diff --git a/icons/W_hotbox/hotbox_addFolder_neutral.png b/icons/W_hotbox/hotbox_addFolder_neutral.png
deleted file mode 100644
index 40551c5..0000000
Binary files a/icons/W_hotbox/hotbox_addFolder_neutral.png and /dev/null differ
diff --git a/icons/W_hotbox/hotbox_add_clicked.png b/icons/W_hotbox/hotbox_add_clicked.png
deleted file mode 100644
index a181e00..0000000
Binary files a/icons/W_hotbox/hotbox_add_clicked.png and /dev/null differ
diff --git a/icons/W_hotbox/hotbox_add_hover.png b/icons/W_hotbox/hotbox_add_hover.png
deleted file mode 100644
index bc90b94..0000000
Binary files a/icons/W_hotbox/hotbox_add_hover.png and /dev/null differ
diff --git a/icons/W_hotbox/hotbox_add_neutral.png b/icons/W_hotbox/hotbox_add_neutral.png
deleted file mode 100644
index 533db38..0000000
Binary files a/icons/W_hotbox/hotbox_add_neutral.png and /dev/null differ
diff --git a/icons/W_hotbox/hotbox_copy_clicked.png b/icons/W_hotbox/hotbox_copy_clicked.png
deleted file mode 100644
index 770c25d..0000000
Binary files a/icons/W_hotbox/hotbox_copy_clicked.png and /dev/null differ