Pytop/src/Pytop/signal_classes/mixins/GridMixin.py

79 lines
2.7 KiB
Python
Raw Normal View History

# Gtk imports
2019-06-09 21:03:38 +00:00
# Python imports
# Application imports
2019-06-23 00:21:18 +00:00
from widgets import Grid
2019-06-09 21:03:38 +00:00
2019-07-05 19:34:15 +00:00
2020-05-09 03:57:22 +00:00
class GridMixin:
def setNewDirectory(self, widget, data=None):
newPath = widget.get_filename()
self.gridClss = Grid(self.gridObj, self.settings)
self.gridClss.setNewDirectory(newPath)
2020-03-30 00:07:06 +00:00
self.settings.saveSettings(newPath)
2019-07-05 06:08:18 +00:00
# File control events
2019-07-07 00:08:25 +00:00
def create(self, wdget):
self.currentPath = self.gridClss.returnCurrentPath()
2019-07-07 00:08:25 +00:00
fileName = self.builder.get_object("filenameInput").get_text().strip()
type = self.builder.get_object("createSwitch").get_state()
2019-06-11 03:44:15 +00:00
2019-07-07 00:08:25 +00:00
if fileName != "":
fileName = self.currentPath + "/" + fileName
status = self.filehandler.create(fileName, type)
2019-07-07 00:08:25 +00:00
if status == 0:
self.gridClss.setNewDirectory(self.currentPath)
2019-07-05 06:08:18 +00:00
2019-07-07 00:08:25 +00:00
def copy(self, widget):
self.pasteType = 1
self.copyCutArry = self.gridClss.returnSelectedFiles()
2019-07-05 06:08:18 +00:00
2019-07-07 00:08:25 +00:00
def cut(self, widget):
self.pasteType = 2
self.copyCutArry = self.gridClss.returnSelectedFiles()
2019-07-05 06:08:18 +00:00
2019-07-07 00:08:25 +00:00
def paste(self, widget):
self.currentPath = self.gridClss.returnCurrentPath()
2019-07-07 02:18:32 +00:00
status = self.filehandler.paste(self.copyCutArry, self.currentPath, self.pasteType)
2019-07-07 00:08:25 +00:00
if status == 0:
self.gridClss.setNewDirectory(self.currentPath)
2019-07-07 00:08:25 +00:00
if self.pasteType == 2: # cut == 2
self.copyCutArry = []
def delete(self, widget):
2019-07-05 21:24:00 +00:00
self.getGridInfo()
2019-07-07 00:08:25 +00:00
status = self.filehandler.delete(self.selectedFiles)
2019-07-05 21:24:00 +00:00
if status == 0:
self.selectedFiles = []
self.gridClss.setNewDirectory(self.currentPath)
2019-07-05 21:24:00 +00:00
2019-07-07 00:08:25 +00:00
def trash(self, widget):
2019-07-05 19:34:15 +00:00
self.getGridInfo()
2019-07-07 00:08:25 +00:00
status = self.filehandler.trash(self.selectedFiles)
2019-07-05 06:08:18 +00:00
2019-07-05 19:34:15 +00:00
if status == 0:
self.selectedFiles = []
self.gridClss.setNewDirectory(self.currentPath)
2019-07-07 00:08:25 +00:00
def rename(self, widget, data):
if data.keyval == 65293: # Enter key press
self.getGridInfo()
file = widget.get_text();
if len(self.selectedFiles) == 1:
newName = self.currentPath + "/" + file
print("Old Name: " + self.selectedFiles[0])
print("New Name: " + newName.strip())
2019-07-07 00:08:25 +00:00
status = self.filehandler.rename(self.selectedFiles[0], newName.strip())
if status == 0:
self.selectedFiles = [newName]
self.gridClss.setNewDirectory(self.currentPath)
2019-07-05 19:34:15 +00:00
def getGridInfo(self):
self.selectedFiles = self.gridClss.returnSelectedFiles()
self.currentPath = self.gridClss.returnCurrentPath()