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