2019-07-05 06:44:16 +00:00
|
|
|
# Python imports
|
2020-03-30 04:25:58 +00:00
|
|
|
from datetime import datetime
|
2020-05-10 10:52:52 +00:00
|
|
|
import os
|
2020-03-30 04:25:58 +00:00
|
|
|
|
|
|
|
# Gtk imports
|
2020-05-09 03:43:25 +00:00
|
|
|
|
2019-07-05 06:44:16 +00:00
|
|
|
|
|
|
|
# Application imports
|
2020-05-10 10:52:52 +00:00
|
|
|
from .mixins import CPUDrawMixin, MainMenuMixin, TaskbarMixin, GridMixin
|
2020-05-09 05:33:16 +00:00
|
|
|
from widgets import Grid
|
2020-05-10 10:52:52 +00:00
|
|
|
from widgets import Icon
|
2020-05-09 03:57:22 +00:00
|
|
|
from utils import FileHandler
|
2019-07-05 06:44:16 +00:00
|
|
|
|
|
|
|
|
2020-05-09 05:33:16 +00:00
|
|
|
|
2020-05-10 10:52:52 +00:00
|
|
|
class Signals(CPUDrawMixin, MainMenuMixin, TaskbarMixin, GridMixin):
|
2019-07-05 06:44:16 +00:00
|
|
|
def __init__(self, settings):
|
2020-05-09 03:31:29 +00:00
|
|
|
self.settings = settings
|
|
|
|
self.builder = self.settings.returnBuilder()
|
|
|
|
|
|
|
|
self.timeLabel = self.builder.get_object("timeLabel")
|
|
|
|
self.drawArea = self.builder.get_object("drawArea")
|
|
|
|
self.brushSizeProp = self.builder.get_object("brushSizeProp")
|
|
|
|
self.brushColorProp = self.builder.get_object("brushColorProp")
|
|
|
|
|
2020-05-09 03:43:25 +00:00
|
|
|
# Menu bar setup - Note: Must be before setting clock
|
2020-05-09 03:31:29 +00:00
|
|
|
self.orientation = 1 # 0 = horizontal, 1 = vertical
|
|
|
|
self.setPagerWidget()
|
|
|
|
self.setTasklistWidget()
|
|
|
|
|
|
|
|
# Must be after pager and task list inits
|
2020-03-30 04:25:58 +00:00
|
|
|
self.displayclock()
|
|
|
|
self.startClock()
|
|
|
|
|
2020-05-09 03:31:29 +00:00
|
|
|
# CPUDrawMixin Parts
|
|
|
|
self.cpu_percents = []
|
|
|
|
self.doDrawBackground = False
|
|
|
|
self.isDrawing = False
|
|
|
|
self.surface = None
|
|
|
|
self.aw = None # Draw area width
|
|
|
|
self.ah = None # Draw area height
|
|
|
|
self.xStep = None # For x-axis 60 sec steps
|
|
|
|
self.yStep = None # For y-axis %s
|
|
|
|
|
|
|
|
rgba = self.brushColorProp.get_rgba()
|
|
|
|
self.brushColorVal = [rgba.red, rgba.green, rgba.blue, rgba.alpha]
|
|
|
|
self.brushSizeVal = self.brushSizeProp.get_value()
|
|
|
|
self.updateSpeed = 100 # 1 sec = 1000ms
|
|
|
|
|
|
|
|
self.good = [0.53, 0.8, 0.15, 1.0]
|
|
|
|
self.warning = [1.0, 0.66, 0.0, 1.0]
|
|
|
|
self.danger = [1.0, 0.0, 0.0, 1.0]
|
2020-05-09 03:57:22 +00:00
|
|
|
|
|
|
|
|
|
|
|
# GridMixin Parts
|
|
|
|
self.filehandler = FileHandler(settings)
|
|
|
|
|
|
|
|
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.currentPath = self.settings.returnSettings()[0]
|
|
|
|
self.copyCutArry = []
|
|
|
|
self.selectedFiles = []
|
2020-05-09 05:33:16 +00:00
|
|
|
self.gridClss = Grid(self.gridObj, self.settings)
|
2020-05-09 03:57:22 +00:00
|
|
|
self.pasteType = 1 # copy == 1 and cut == 2
|
|
|
|
|
2020-05-09 05:33:16 +00:00
|
|
|
|
2020-05-09 03:57:22 +00:00
|
|
|
# Add filter to allow only folders to be selected
|
|
|
|
selectDirDialog.add_filter(filefilter)
|
|
|
|
selectDirDialog.set_filename(self.currentPath)
|
|
|
|
self.setNewDirectory(selectDirDialog)
|
2020-05-10 10:52:52 +00:00
|
|
|
|
|
|
|
|
|
|
|
# Program Menu Parts
|
|
|
|
self.menuWindow = self.builder.get_object("menuWindow")
|
|
|
|
self.menuWindow.set_keep_above(True);
|
2020-07-06 02:10:55 +00:00
|
|
|
self.showIcons = False
|
2020-05-10 10:52:52 +00:00
|
|
|
|
|
|
|
self.iconFactory = Icon(self.settings)
|
|
|
|
self.grpDefault = "Accessories"
|
|
|
|
self.progGroup = self.grpDefault
|
|
|
|
HOME_APPS = os.path.expanduser('~') + "/.local/share/applications/"
|
2020-07-06 02:10:55 +00:00
|
|
|
paths = ["/opt/", "/usr/share/applications/", HOME_APPS]
|
2020-05-10 10:52:52 +00:00
|
|
|
self.menuData = self.getDesktopFilesInfo(paths)
|
|
|
|
self.desktopObjs = []
|
|
|
|
self.getSubgroup()
|
|
|
|
self.generateListView()
|