diff --git a/bin/pytop-0-0-1-x64.deb b/bin/pytop-0-0-1-x64.deb index 0e7d59a..1fd06cf 100644 Binary files a/bin/pytop-0-0-1-x64.deb and b/bin/pytop-0-0-1-x64.deb differ diff --git a/src/pytop-0.0.1/Pytop/resources/PyTop.glade b/src/pytop-0.0.1/Pytop/resources/PyTop.glade index 785772d..2396a89 100644 --- a/src/pytop-0.0.1/Pytop/resources/PyTop.glade +++ b/src/pytop-0.0.1/Pytop/resources/PyTop.glade @@ -31,13 +31,13 @@ - + True False select-folder Folders Directory Chooser - + False diff --git a/src/pytop-0.0.1/Pytop/signal_classes/GridSignals.py b/src/pytop-0.0.1/Pytop/signal_classes/GridSignals.py index 1ac73d9..74034d1 100644 --- a/src/pytop-0.0.1/Pytop/signal_classes/GridSignals.py +++ b/src/pytop-0.0.1/Pytop/signal_classes/GridSignals.py @@ -10,59 +10,58 @@ from utils import FileHandler class GridSignals: def __init__(self, settings): - self.settings = settings - self.filehandler = FileHandler(settings) + self.settings = settings + self.filehandler = FileHandler(settings) - self.builder = self.settings.returnBuilder() - self.desktop = self.builder.get_object("Desktop") - selectedDirDialog = self.builder.get_object("selectedDirDialog") - filefilter = self.builder.get_object("Folders") + self.builder = self.settings.returnBuilder() + self.gridObj = self.builder.get_object("Desktop") + selectDirDialog = self.builder.get_object("selectDirDialog") + filefilter = self.builder.get_object("Folders") - self.desktopPath = self.settings.returnDesktopPath() + self.currentPath = self.settings.returnDesktopPath() self.copyCutArry = [] self.selectedFiles = [] - self.grid = None - self.currentPath = "" + self.gridClss = None self.pasteType = 1 # copy == 1 and cut == 2 # Add filter to allow only folders to be selected - selectedDirDialog.add_filter(filefilter) - selectedDirDialog.set_filename(self.desktopPath) - self.setIconViewDir(selectedDirDialog) + selectDirDialog.add_filter(filefilter) + selectDirDialog.set_filename(self.currentPath) + self.setNewDirectory(selectDirDialog) - def setIconViewDir(self, widget, data=None): - newPath = widget.get_filename() - self.grid = Grid(self.desktop, self.settings) - self.grid.setIconViewDir(newPath) + def setNewDirectory(self, widget, data=None): + newPath = widget.get_filename() + self.gridClss = Grid(self.gridObj, self.settings) + self.gridClss.setNewDirectory(newPath) # File control events def create(self, wdget): - self.currentPath = self.grid.returnCurrentPath() + self.currentPath = self.gridClss.returnCurrentPath() fileName = self.builder.get_object("filenameInput").get_text().strip() type = self.builder.get_object("createSwitch").get_state() if fileName != "": fileName = self.currentPath + "/" + fileName - status = self.filehandler.create(fileName, type) + status = self.filehandler.create(fileName, type) if status == 0: - self.grid.setIconViewDir(self.currentPath) + self.gridClss.setNewDirectory(self.currentPath) def copy(self, widget): self.pasteType = 1 - self.copyCutArry = self.grid.returnSelectedFiles() + self.copyCutArry = self.gridClss.returnSelectedFiles() def cut(self, widget): self.pasteType = 2 - self.copyCutArry = self.grid.returnSelectedFiles() + self.copyCutArry = self.gridClss.returnSelectedFiles() def paste(self, widget): - self.currentPath = self.grid.returnCurrentPath() + self.currentPath = self.gridClss.returnCurrentPath() status = self.filehandler.paste(self.copyCutArry, self.currentPath, self.pasteType) if status == 0: - self.grid.setIconViewDir(self.currentPath) + self.gridClss.setNewDirectory(self.currentPath) if self.pasteType == 2: # cut == 2 self.copyCutArry = [] @@ -72,7 +71,7 @@ class GridSignals: if status == 0: self.selectedFiles = [] - self.grid.setIconViewDir(self.currentPath) + self.gridClss.setNewDirectory(self.currentPath) def trash(self, widget): self.getGridInfo() @@ -80,7 +79,7 @@ class GridSignals: if status == 0: self.selectedFiles = [] - self.grid.setIconViewDir(self.currentPath) + self.gridClss.setNewDirectory(self.currentPath) def rename(self, widget, data): if data.keyval == 65293: # Enter key press @@ -94,8 +93,8 @@ class GridSignals: status = self.filehandler.rename(self.selectedFiles[0], newName.strip()) if status == 0: self.selectedFiles = [newName] - self.grid.setIconViewDir(self.currentPath) + self.gridClss.setNewDirectory(self.currentPath) def getGridInfo(self): - self.selectedFiles = self.grid.returnSelectedFiles() - self.currentPath = self.grid.returnCurrentPath() + self.selectedFiles = self.gridClss.returnSelectedFiles() + self.currentPath = self.gridClss.returnCurrentPath() diff --git a/src/pytop-0.0.1/Pytop/widgets/Grid.py b/src/pytop-0.0.1/Pytop/widgets/Grid.py index 35e44fb..bfb52f9 100644 --- a/src/pytop-0.0.1/Pytop/widgets/Grid.py +++ b/src/pytop-0.0.1/Pytop/widgets/Grid.py @@ -24,8 +24,8 @@ def threaded(fn): return wrapper class Grid: - def __init__(self, desktop, settings): - self.desktop = desktop + def __init__(self, grid, settings): + self.grid = grid self.settings = settings self.fileHandler = FileHandler(self.settings) @@ -33,8 +33,9 @@ class Grid: self.usrHome = settings.returnUserHome() self.builder = settings.returnBuilder() self.ColumnSize = settings.returnColumnSize() - self.vidsList = settings.returnVidsFilter() - self.imagesList = settings.returnImagesFilter() + self.vidsFilter = settings.returnVidsFilter() + self.imagesFilter = settings.returnImagesFilter() + self.iconFactory = Icon(settings) self.gtkLock = False # Thread checks for gtkLock self.threadLock = False # Gtk checks for thread lock self.helperThread = None # Helper thread object @@ -42,14 +43,14 @@ class Grid: self.selectedFiles = [] self.currentPath = "" - self.desktop.set_model(self.store) - self.desktop.set_pixbuf_column(0) - self.desktop.set_text_column(1) - self.desktop.connect("item-activated", self.iconDblLeftClick) - self.desktop.connect("button_release_event", self.iconSingleClick, (self.desktop,)) + self.grid.set_model(self.store) + self.grid.set_pixbuf_column(0) + self.grid.set_text_column(1) + self.grid.connect("item-activated", self.iconDblLeftClick) + self.grid.connect("button_release_event", self.iconSingleClick, (self.grid,)) - def setIconViewDir(self, path): + def setNewDirectory(self, path): self.store.clear() self.currentPath = path @@ -65,9 +66,9 @@ class Grid: if f.startswith('.'): continue if isfile(file): - if file.lower().endswith(self.vidsList): + if file.lower().endswith(self.vidsFilter): vids.append(f) - elif file.lower().endswith(self.imagesList): + elif file.lower().endswith(self.imagesFilter): images.append(f) elif file.lower().endswith((".desktop",)): desktop.append(f) @@ -89,19 +90,19 @@ class Grid: # Run helper thread... self.threadLock = True - self.helperThread = threading.Thread(target=self.generateDirectoryGridIcon, args=(path, files)).start() - glib.idle_add(self.addToGrid, (file,)) # This must stay in the main thread b/c + self.helperThread = threading.Thread(target=self.generateGridIcon, args=(path, files)).start() + glib.idle_add(self.addToGrid, (file,)) # NOTE: This must stay in the main thread b/c # gtk isn't thread safe/aware So, we # make a sad lil thread hot potato 'game' # out of this process. # @threaded - def generateDirectoryGridIcon(self, dirPath, files): + def generateGridIcon(self, dirPath, files): # NOTE: We'll be passing pixbuf after retreval to keep Icon.py file more # universaly usable. We can just remove get_pixbuf to get a gtk.Image type for file in files: - image = Icon(self.settings).createIcon(dirPath, file) + image = self.iconFactory.createIcon(dirPath, file) self.toWorkPool.append([image.get_pixbuf(), file]) self.threadLock = False self.gtkLock = True @@ -138,14 +139,14 @@ class Grid: file = dir + "/" + fileName if fileName == ".": - self.setIconViewDir(dir) + self.setNewDirectory(dir) elif fileName == "..": parentDir = os.path.abspath(os.path.join(dir, os.pardir)) self.currentPath = parentDir - self.setIconViewDir(parentDir) + self.setNewDirectory(parentDir) elif isdir(file): self.currentPath = file - self.setIconViewDir(self.currentPath) + self.setNewDirectory(self.currentPath) elif isfile(file): self.fileHandler.openFile(file) except Exception as e: