Skip to content
This repository has been archived by the owner on Feb 17, 2025. It is now read-only.

Commit

Permalink
feat: Añadir configuración de UI y carga inicial
Browse files Browse the repository at this point in the history
  • Loading branch information
JoaquinDecima committed Mar 4, 2024
1 parent c0f7aad commit 4e1470b
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 0 deletions.
6 changes: 6 additions & 0 deletions navale.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
import sys
import signal
import os
from PyQt6.QtWidgets import QApplication
from src.NavaleWindow import NavaleWindow
from PyQt6.QtCore import QFileSystemWatcher

app = QApplication(sys.argv)
files = [os.path.expanduser('~') + '/.config/vasak/vasak.conf']
watcher = QFileSystemWatcher(files)
watcher.addPaths(files)

if __name__ == "__main__":
app.setApplicationName("Navale")
app.setApplicationVersion("0.1.1")
app.setOrganizationName("Vasak Group")
window = NavaleWindow()
window.show()
watcher.fileChanged.connect(window.load_ui_config)
signal.signal(signal.SIGINT, signal.SIG_DFL) # Habilitar Ctrl+C
sys.exit(app.exec())

4 changes: 4 additions & 0 deletions src/NavaleBinding.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ def getDefaultNetwork(self):
self.networkManager.updateStatus()
return json.dumps(self.networkManager.getDefaultConnectionData(), indent=4)

@pyqtSlot()
def loadUIConfig(self):
self.window.load_ui_config()

@pyqtSlot(result=str)
def getHome(self):
home_path = os.path.expanduser("~")
Expand Down
15 changes: 15 additions & 0 deletions src/NavaleWindow.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from Vasak.VSKWindow import VSKWindow
from Vasak.system.VSKConfigManager import VSKConfigManager
from PyQt6.QtWidgets import QApplication
from PyQt6.QtCore import Qt
from src.x11.X11WindowStatusManager import X11WindowStatusManager
Expand All @@ -9,6 +10,7 @@ def __init__(self):
super().__init__()
self.shareObject = NavaleBinding(self)
self.windowStatusManager = X11WindowStatusManager(self)
self.configManager = VSKConfigManager()
self.channel.registerObject("vsk", self.shareObject)
self.move_to_screen() # Mover la ventana a una pantalla específica
self.set_as_dock() # Hacer que la ventana se comporte como un dock
Expand All @@ -22,6 +24,19 @@ def move_to_screen(self):

def send_Javascript(self, message):
self.webview.page().runJavaScript(message)

def load_ui_config(self):
self.configManager.reload()
darkMode = self.configManager.get('STYLE', 'darkmode')
radius = self.configManager.get('STYLE', 'radius')
color = self.configManager.get('STYLE', 'color')

self.send_Javascript(f'document.body.style.setProperty("--system-rounded", "{radius}px")')
self.send_Javascript(f'document.body.style.setProperty("--system-accent-color", "{color}")')
if darkMode == 'true':
self.send_Javascript('document.body.classList.add("dark")')
else:
self.send_Javascript('document.body.classList.remove("dark")')

def toggleWindow(self, id):
self.windowStatusManager.toggleWindow(id)
Expand Down
7 changes: 7 additions & 0 deletions ui/src/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@
import NotificationArea from '@/components/area/NotificationArea.vue'
import WindowsArea from '@/components/area/WindowsArea.vue'
import MenuButton from './components/button/MenuButton.vue'
import { onMounted, inject } from 'vue';
const $vsk:any = inject('vsk');
onMounted(()=>{
$vsk.loadUIConfig();
})
</script>

<template>
Expand Down

0 comments on commit 4e1470b

Please sign in to comment.