@@ -38,6 +38,7 @@ Optional but recommended: | |||
- pulseaudio[-module-jack] | |||
The 'Cadence' app relies on jackdbus to work properly (either JACK2 or JACK1+DBus patch). <br/> | |||
Claudia is a LADISH frontend, so it will obviously require LADISH to run. | |||
The python version used and tested is python3.2. Older versions won't work! <br/> | |||
After install, the app/tools will still work on distributions with python2 as default, without any additional work. | |||
@@ -75,3 +76,7 @@ No special requirements <br/> | |||
### Catia | |||
Requires jack <br/> | |||
Recommends a2jmidid (>= 7) and jackdbus <br/> | |||
### Claudia [Linux only] <br/> | |||
Requires jackdbus and ladish <br/> | |||
Recommends a2jmidid <br/> |
@@ -61,7 +61,7 @@ locale/%.qm: locale/%.ts | |||
UI: cadence catarina catia tools | |||
cadence: src/ui_cadence.py \ | |||
src/ui_cadence_tb_alsa.py src/ui_cadence_tb_a2j.py src/ui_cadence_tb_pa.py \ | |||
src/ui_cadence_tb_jack.py src/ui_cadence_tb_alsa.py src/ui_cadence_tb_a2j.py src/ui_cadence_tb_pa.py \ | |||
src/ui_cadence_rwait.py | |||
catarina: src/ui_catarina.py \ | |||
@@ -21,10 +21,10 @@ It automatically connects itself to all application JACK output ports that are a | |||
### [Cadence-JackSettings](http://kxstudio.sourceforge.net/KXStudio:Applications:Cadence-JackSettings) | |||
Simple and easy-to-use configure dialog for jackdbus. <br/> | |||
It can configure JACK's driver and engine parameters. | |||
It can configure JACK's driver and engine parameters, and it also supports LADISH studios. | |||
### [Cadence-Logs](http://kxstudio.sourceforge.net/KXStudio:Applications:Cadence-Logs) | |||
Small tool that shows JACK and A2J logs in a multi-tab window. <br/> | |||
Small tool that shows JACK, A2J, LASH and LADISH logs in a multi-tab window. <br/> | |||
The logs are viewed in a text box, making it easy to browse and extract status messages using copy and paste commands. | |||
### [Cadence-Render](http://kxstudio.sourceforge.net/KXStudio:Applications:Cadence-Render) | |||
@@ -37,10 +37,21 @@ It can send data through specific channels and has a MIDI Keyboard too. | |||
### [Catarina](http://kxstudio.sourceforge.net/KXStudio:Applications:Catarina) | |||
A Patchbay test app, created while the patchcanvas module was being developed. <br/> | |||
It allows the user to experiment with the patchbay, without using ALSA or JACK. <br/> | |||
It allows the user to experiment with the patchbay, without using ALSA, JACK or LADISH. <br/> | |||
You can save & load patchbay configurations too. | |||
### [Catia](http://kxstudio.sourceforge.net/KXStudio:Applications:Catia) | |||
JACK Patchbay, with some neat features like A2J bridge support and JACK Transport. <br/> | |||
It's supposed to be as simple as possible, so it can work nicely on Windows and Mac too. <br/> | |||
It's supposed to be as simple as possible (there's Claudia for advanced things), so it can work nicely on Windows and Mac too. <br/> | |||
Currently has ALSA-MIDI support in experimental stage (it doesn't automatically refresh the canvas when changes happen externally). | |||
### [Claudia](http://kxstudio.sourceforge.net/KXStudio:Applications:Claudia) | |||
LADISH frontend; just like Catia, but focused at session management through LADISH. <br/> | |||
It has a bit more features than the official LADISH GUI, with a nice preview of the main canvas in the bottom-left. <br/> | |||
It also implements the 'Claudia-Launcher' add-application style for LADISH. | |||
### [Claudia-Launcher](http://kxstudio.sourceforge.net/KXStudio:Applications:Claudia-Launcher) | |||
A multimedia application launcher with LADISH support. <br/> | |||
It searches for installed packages (not binaries), and displays the respective content as a launcher. <br/> | |||
The content is got through an hardcoded database, created and/or modified to suit the target distribution. <br/> | |||
Currently supports Debian and ArchLinux based distros. |
@@ -18,7 +18,7 @@ | |||
<item> | |||
<widget class="QTabWidget" name="tabWidget"> | |||
<property name="currentIndex"> | |||
<number>1</number> | |||
<number>0</number> | |||
</property> | |||
<widget class="QWidget" name="tab_system"> | |||
<attribute name="title"> | |||
@@ -689,8 +689,8 @@ | |||
<rect> | |||
<x>0</x> | |||
<y>0</y> | |||
<width>299</width> | |||
<height>98</height> | |||
<width>392</width> | |||
<height>118</height> | |||
</rect> | |||
</property> | |||
<attribute name="label"> | |||
@@ -823,8 +823,8 @@ | |||
<rect> | |||
<x>0</x> | |||
<y>0</y> | |||
<width>302</width> | |||
<height>98</height> | |||
<width>392</width> | |||
<height>118</height> | |||
</rect> | |||
</property> | |||
<attribute name="label"> | |||
@@ -1192,7 +1192,7 @@ | |||
<item> | |||
<widget class="QLabel" name="label_tools_logs"> | |||
<property name="text"> | |||
<string>View JACK and A2J logs</string> | |||
<string>View JACK, A2J and LADISH logs</string> | |||
</property> | |||
<property name="alignment"> | |||
<set>Qt::AlignCenter</set> | |||
@@ -1612,8 +1612,8 @@ | |||
<rect> | |||
<x>0</x> | |||
<y>0</y> | |||
<width>96</width> | |||
<height>89</height> | |||
<width>396</width> | |||
<height>401</height> | |||
</rect> | |||
</property> | |||
<attribute name="label"> | |||
@@ -1642,7 +1642,7 @@ | |||
<rect> | |||
<x>0</x> | |||
<y>0</y> | |||
<width>96</width> | |||
<width>91</width> | |||
<height>89</height> | |||
</rect> | |||
</property> | |||
@@ -1672,7 +1672,7 @@ | |||
<rect> | |||
<x>0</x> | |||
<y>0</y> | |||
<width>96</width> | |||
<width>91</width> | |||
<height>89</height> | |||
</rect> | |||
</property> | |||
@@ -1702,7 +1702,7 @@ | |||
<rect> | |||
<x>0</x> | |||
<y>0</y> | |||
<width>96</width> | |||
<width>91</width> | |||
<height>89</height> | |||
</rect> | |||
</property> | |||
@@ -0,0 +1,169 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<ui version="4.0"> | |||
<class>Dialog</class> | |||
<widget class="QDialog" name="Dialog"> | |||
<property name="geometry"> | |||
<rect> | |||
<x>0</x> | |||
<y>0</y> | |||
<width>390</width> | |||
<height>118</height> | |||
</rect> | |||
</property> | |||
<property name="windowTitle"> | |||
<string>JACK Options</string> | |||
</property> | |||
<layout class="QVBoxLayout" name="verticalLayout"> | |||
<item> | |||
<widget class="QRadioButton" name="rb_jack"> | |||
<property name="text"> | |||
<string>Load JACK Default Settings</string> | |||
</property> | |||
<property name="checked"> | |||
<bool>true</bool> | |||
</property> | |||
</widget> | |||
</item> | |||
<item> | |||
<widget class="QRadioButton" name="rb_ladish"> | |||
<property name="text"> | |||
<string>Load LADISH Studio</string> | |||
</property> | |||
</widget> | |||
</item> | |||
<item> | |||
<layout class="QHBoxLayout" name="horizontalLayout"> | |||
<item> | |||
<spacer name="horizontalSpacer"> | |||
<property name="orientation"> | |||
<enum>Qt::Horizontal</enum> | |||
</property> | |||
<property name="sizeType"> | |||
<enum>QSizePolicy::Fixed</enum> | |||
</property> | |||
<property name="sizeHint" stdset="0"> | |||
<size> | |||
<width>20</width> | |||
<height>20</height> | |||
</size> | |||
</property> | |||
</spacer> | |||
</item> | |||
<item> | |||
<widget class="QLabel" name="label"> | |||
<property name="enabled"> | |||
<bool>false</bool> | |||
</property> | |||
<property name="text"> | |||
<string>Studio Name:</string> | |||
</property> | |||
</widget> | |||
</item> | |||
<item> | |||
<widget class="QComboBox" name="cb_studio_name"> | |||
<property name="enabled"> | |||
<bool>false</bool> | |||
</property> | |||
<property name="sizePolicy"> | |||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed"> | |||
<horstretch>0</horstretch> | |||
<verstretch>0</verstretch> | |||
</sizepolicy> | |||
</property> | |||
</widget> | |||
</item> | |||
</layout> | |||
</item> | |||
<item> | |||
<spacer name="verticalSpacer"> | |||
<property name="orientation"> | |||
<enum>Qt::Vertical</enum> | |||
</property> | |||
<property name="sizeHint" stdset="0"> | |||
<size> | |||
<width>20</width> | |||
<height>40</height> | |||
</size> | |||
</property> | |||
</spacer> | |||
</item> | |||
<item> | |||
<widget class="QDialogButtonBox" name="buttonBox"> | |||
<property name="orientation"> | |||
<enum>Qt::Horizontal</enum> | |||
</property> | |||
<property name="standardButtons"> | |||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> | |||
</property> | |||
</widget> | |||
</item> | |||
</layout> | |||
</widget> | |||
<resources/> | |||
<connections> | |||
<connection> | |||
<sender>buttonBox</sender> | |||
<signal>accepted()</signal> | |||
<receiver>Dialog</receiver> | |||
<slot>accept()</slot> | |||
<hints> | |||
<hint type="sourcelabel"> | |||
<x>224</x> | |||
<y>113</y> | |||
</hint> | |||
<hint type="destinationlabel"> | |||
<x>157</x> | |||
<y>129</y> | |||
</hint> | |||
</hints> | |||
</connection> | |||
<connection> | |||
<sender>buttonBox</sender> | |||
<signal>rejected()</signal> | |||
<receiver>Dialog</receiver> | |||
<slot>reject()</slot> | |||
<hints> | |||
<hint type="sourcelabel"> | |||
<x>292</x> | |||
<y>119</y> | |||
</hint> | |||
<hint type="destinationlabel"> | |||
<x>286</x> | |||
<y>129</y> | |||
</hint> | |||
</hints> | |||
</connection> | |||
<connection> | |||
<sender>rb_ladish</sender> | |||
<signal>toggled(bool)</signal> | |||
<receiver>label</receiver> | |||
<slot>setEnabled(bool)</slot> | |||
<hints> | |||
<hint type="sourcelabel"> | |||
<x>83</x> | |||
<y>38</y> | |||
</hint> | |||
<hint type="destinationlabel"> | |||
<x>78</x> | |||
<y>63</y> | |||
</hint> | |||
</hints> | |||
</connection> | |||
<connection> | |||
<sender>rb_ladish</sender> | |||
<signal>toggled(bool)</signal> | |||
<receiver>cb_studio_name</receiver> | |||
<slot>setEnabled(bool)</slot> | |||
<hints> | |||
<hint type="sourcelabel"> | |||
<x>115</x> | |||
<y>34</y> | |||
</hint> | |||
<hint type="destinationlabel"> | |||
<x>163</x> | |||
<y>67</y> | |||
</hint> | |||
</hints> | |||
</connection> | |||
</connections> | |||
</ui> |
@@ -82,6 +82,11 @@ | |||
<string>canvas</string> | |||
</property> | |||
</row> | |||
<row> | |||
<property name="text"> | |||
<string>ladish</string> | |||
</property> | |||
</row> | |||
<column> | |||
<property name="text"> | |||
<string>Widget</string> | |||
@@ -98,7 +103,7 @@ | |||
</font> | |||
</property> | |||
<property name="textAlignment"> | |||
<set>AlignLeading|AlignVCenter</set> | |||
<set>AlignLeft|AlignVCenter</set> | |||
</property> | |||
<property name="icon"> | |||
<iconset resource="../resources.qrc"> | |||
@@ -126,6 +131,24 @@ | |||
<set>ItemIsSelectable|ItemIsEnabled</set> | |||
</property> | |||
</item> | |||
<item row="2" column="0"> | |||
<property name="text"> | |||
<string>LADISH</string> | |||
</property> | |||
<property name="font"> | |||
<font> | |||
<weight>75</weight> | |||
<bold>true</bold> | |||
</font> | |||
</property> | |||
<property name="icon"> | |||
<iconset resource="../resources.qrc"> | |||
<normaloff>:/48x48/ladish.png</normaloff>:/48x48/ladish.png</iconset> | |||
</property> | |||
<property name="flags"> | |||
<set>ItemIsSelectable|ItemIsEnabled</set> | |||
</property> | |||
</item> | |||
</widget> | |||
</item> | |||
<item> | |||
@@ -134,20 +157,11 @@ | |||
<number>0</number> | |||
</property> | |||
<property name="currentIndex"> | |||
<number>2</number> | |||
<number>0</number> | |||
</property> | |||
<widget class="QWidget" name="page_main"> | |||
<layout class="QVBoxLayout" name="verticalLayout_5"> | |||
<property name="leftMargin"> | |||
<number>2</number> | |||
</property> | |||
<property name="topMargin"> | |||
<number>2</number> | |||
</property> | |||
<property name="rightMargin"> | |||
<number>2</number> | |||
</property> | |||
<property name="bottomMargin"> | |||
<property name="margin"> | |||
<number>2</number> | |||
</property> | |||
<item> | |||
@@ -353,16 +367,7 @@ | |||
</widget> | |||
<widget class="QWidget" name="page_canvas"> | |||
<layout class="QVBoxLayout" name="verticalLayout_8"> | |||
<property name="leftMargin"> | |||
<number>2</number> | |||
</property> | |||
<property name="topMargin"> | |||
<number>2</number> | |||
</property> | |||
<property name="rightMargin"> | |||
<number>2</number> | |||
</property> | |||
<property name="bottomMargin"> | |||
<property name="margin"> | |||
<number>2</number> | |||
</property> | |||
<item> | |||
@@ -550,6 +555,142 @@ | |||
</item> | |||
</layout> | |||
</widget> | |||
<widget class="QWidget" name="page_ladish"> | |||
<layout class="QVBoxLayout" name="verticalLayout_10"> | |||
<property name="margin"> | |||
<number>2</number> | |||
</property> | |||
<item> | |||
<layout class="QHBoxLayout" name="horizontalLayout_11"> | |||
<item> | |||
<widget class="QLabel" name="label_13"> | |||
<property name="text"> | |||
<string><b>LADISH</b></string> | |||
</property> | |||
<property name="alignment"> | |||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> | |||
</property> | |||
</widget> | |||
</item> | |||
<item> | |||
<spacer name="horizontalSpacer_10"> | |||
<property name="orientation"> | |||
<enum>Qt::Horizontal</enum> | |||
</property> | |||
<property name="sizeHint" stdset="0"> | |||
<size> | |||
<width>40</width> | |||
<height>20</height> | |||
</size> | |||
</property> | |||
</spacer> | |||
</item> | |||
<item> | |||
<widget class="QLabel" name="label_14"> | |||
<property name="text"> | |||
<string notr="true"/> | |||
</property> | |||
<property name="pixmap"> | |||
<pixmap resource="../resources.qrc">:/48x48/ladish.png</pixmap> | |||
</property> | |||
<property name="alignment"> | |||
<set>Qt::AlignHCenter|Qt::AlignTop</set> | |||
</property> | |||
</widget> | |||
</item> | |||
</layout> | |||
</item> | |||
<item> | |||
<widget class="QGroupBox" name="groupBox_6"> | |||
<property name="title"> | |||
<string>Options</string> | |||
</property> | |||
<layout class="QVBoxLayout" name="verticalLayout_6"> | |||
<item> | |||
<widget class="QCheckBox" name="cb_ladish_studio_autostart"> | |||
<property name="text"> | |||
<string>Start studio on load</string> | |||
</property> | |||
</widget> | |||
</item> | |||
<item> | |||
<widget class="QCheckBox" name="cb_ladish_notify"> | |||
<property name="text"> | |||
<string>Send notifications</string> | |||
</property> | |||
</widget> | |||
</item> | |||
</layout> | |||
</widget> | |||
</item> | |||
<item> | |||
<layout class="QGridLayout" name="gridLayout_3"> | |||
<item row="0" column="0"> | |||
<widget class="QLabel" name="label_15"> | |||
<property name="text"> | |||
<string>Shell to use:</string> | |||
</property> | |||
<property name="alignment"> | |||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> | |||
</property> | |||
</widget> | |||
</item> | |||
<item row="0" column="1"> | |||
<widget class="QLineEdit" name="le_ladish_shell"/> | |||
</item> | |||
<item row="1" column="0"> | |||
<widget class="QLabel" name="label_16"> | |||
<property name="text"> | |||
<string>Terminal to use:</string> | |||
</property> | |||
<property name="alignment"> | |||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> | |||
</property> | |||
</widget> | |||
</item> | |||
<item row="1" column="1"> | |||
<widget class="QLineEdit" name="le_ladish_terminal"/> | |||
</item> | |||
<item row="2" column="0"> | |||
<widget class="QLabel" name="label_2"> | |||
<property name="text"> | |||
<string>JS delay:</string> | |||
</property> | |||
<property name="alignment"> | |||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> | |||
</property> | |||
</widget> | |||
</item> | |||
<item row="2" column="1"> | |||
<widget class="QSpinBox" name="sb_ladish_jsdelay"> | |||
<property name="suffix"> | |||
<string> seconds</string> | |||
</property> | |||
<property name="prefix"> | |||
<string/> | |||
</property> | |||
<property name="maximum"> | |||
<number>1000</number> | |||
</property> | |||
</widget> | |||
</item> | |||
</layout> | |||
</item> | |||
<item> | |||
<spacer name="verticalSpacer_4"> | |||
<property name="orientation"> | |||
<enum>Qt::Vertical</enum> | |||
</property> | |||
<property name="sizeHint" stdset="0"> | |||
<size> | |||
<width>20</width> | |||
<height>40</height> | |||
</size> | |||
</property> | |||
</spacer> | |||
</item> | |||
</layout> | |||
</widget> | |||
<widget class="QWidget" name="page"/> | |||
</widget> | |||
</item> | |||
@@ -33,6 +33,7 @@ else: | |||
import systray | |||
import ui_cadence | |||
import ui_cadence_tb_jack | |||
import ui_cadence_tb_alsa | |||
import ui_cadence_tb_a2j | |||
import ui_cadence_tb_pa | |||
@@ -1,7 +1,7 @@ | |||
#!/usr/bin/env python3 | |||
# -*- coding: utf-8 -*- | |||
# JACK and A2J Logs Viewer | |||
# JACK, A2J, LASH and LADISH Logs Viewer | |||
# Copyright (C) 2011-2018 Filipe Coelho <falktx@falktx.com> | |||
# | |||
# This program is free software; you can redistribute it and/or modify | |||
@@ -19,9 +19,14 @@ | |||
# ------------------------------------------------------------------------------------------------------------ | |||
# Imports (Global) | |||
from PyQt5.QtCore import pyqtSlot, Qt, QFile, QIODevice, QMutex, QMutexLocker, QTextStream, QThread, QSettings | |||
from PyQt5.QtGui import QPalette, QSyntaxHighlighter | |||
from PyQt5.QtWidgets import QDialog | |||
if True: | |||
from PyQt5.QtCore import pyqtSlot, Qt, QFile, QIODevice, QMutex, QMutexLocker, QTextStream, QThread, QSettings | |||
from PyQt5.QtGui import QPalette, QSyntaxHighlighter | |||
from PyQt5.QtWidgets import QDialog | |||
else: | |||
from PyQt4.QtCore import pyqtSlot, Qt, QFile, QIODevice, QMutex, QMutexLocker, QTextStream, QThread, QSettings | |||
from PyQt4.QtGui import QPalette, QSyntaxHighlighter | |||
from PyQt4.QtGui import QDialog | |||
# ------------------------------------------------------------------------------------------------------------ | |||
# Imports (Custom Stuff) | |||
@@ -97,6 +102,22 @@ class SyntaxHighlighter_LASH(QSyntaxHighlighter): | |||
elif ": ------------------" in text: | |||
self.setFormat(text.find(" ------------------"), len(text), self.fPalette.color(QPalette.Active, QPalette.Mid)) | |||
# ------------------------------------------------------------------------------------------------------------ | |||
# Syntax Highlighter for LADISH | |||
class SyntaxHighlighter_LADISH(QSyntaxHighlighter): | |||
def __init__(self, parent): | |||
QSyntaxHighlighter.__init__(self, parent) | |||
self.fPalette = parent.palette() | |||
def highlightBlock(self, text): | |||
if ": ERROR: " in text: | |||
self.setFormat(text.find(" ERROR: "), len(text), Qt.red) | |||
elif ": WARNING: " in text: | |||
self.setFormat(text.find(" WARNING: "), len(text), Qt.darkRed) | |||
elif ": -------" in text: | |||
self.setFormat(text.find(" -------"), len(text), self.fPalette.color(QPalette.Active, QPalette.Mid)) | |||
# ------------------------------------------------------------------------------------------------------------ | |||
# Lock-less file read thread | |||
@@ -21,7 +21,10 @@ | |||
from time import sleep | |||
from PyQt5.QtCore import QProcess, QSettings | |||
if True: | |||
from PyQt5.QtCore import QProcess, QSettings | |||
else: | |||
from PyQt4.QtCore import QProcess, QSettings | |||
# ------------------------------------------------------------------------------------------------------------ | |||
# Imports (Custom Stuff) | |||
@@ -150,7 +153,7 @@ def stopAllAudioProcesses(tryCloseJack = True): | |||
process.start("cadence-pulse2jack", ["--dummy"]) | |||
process.waitForFinished() | |||
procsTerm = ["a2j", "a2jmidid", "artsd", "jackd", "jackdmp", "knotify4", "jmcore"] | |||
procsTerm = ["a2j", "a2jmidid", "artsd", "jackd", "jackdmp", "knotify4", "lash", "ladishd", "ladiappd", "ladiconfd", "jmcore"] | |||
procsKill = ["jackdbus", "pulseaudio"] | |||
tries = 20 | |||
@@ -19,10 +19,14 @@ | |||
# ------------------------------------------------------------------------------------------------------------ | |||
# Imports (Global) | |||
from PyQt5.QtCore import pyqtSlot, QTimer | |||
from PyQt5.QtGui import QCursor, QFontMetrics, QImage, QPainter | |||
from PyQt5.QtWidgets import QMainWindow, QMenu | |||
if True: | |||
from PyQt5.QtCore import pyqtSlot, QTimer | |||
from PyQt5.QtGui import QCursor, QFontMetrics, QImage, QPainter | |||
from PyQt5.QtWidgets import QMainWindow, QMenu | |||
else: | |||
from PyQt4.QtCore import pyqtSlot, QTimer | |||
from PyQt4.QtGui import QCursor, QFontMetrics, QImage, QPainter | |||
from PyQt4.QtGui import QMainWindow, QMenu | |||
# ------------------------------------------------------------------------------------------------------------ | |||
# Imports (Custom Stuff) | |||
@@ -59,6 +63,13 @@ class DBusObject(object): | |||
'bus', | |||
'a2j', | |||
'jack', | |||
'ladish_control', | |||
'ladish_studio', | |||
'ladish_room', | |||
'ladish_graph', | |||
'ladish_manager', | |||
'ladish_app_iface', | |||
'ladish_app_daemon', | |||
'patchbay' | |||
] | |||
@@ -67,6 +78,12 @@ gDBus.loop = None | |||
gDBus.bus = None | |||
gDBus.a2j = None | |||
gDBus.jack = None | |||
gDBus.ladish_control = None | |||
gDBus.ladish_studio = None | |||
gDBus.ladish_room = None | |||
gDBus.ladish_graph = None | |||
gDBus.ladish_app_iface = None | |||
gDBus.ladish_app_daemon = None | |||
gDBus.patchbay = None | |||
# ------------------------------------------------------------------------------------------------------------ | |||
@@ -35,12 +35,27 @@ from patchcanvas_theme import * | |||
# Tab indexes | |||
TAB_INDEX_MAIN = 0 | |||
TAB_INDEX_CANVAS = 1 | |||
TAB_INDEX_NONE = 2 | |||
TAB_INDEX_LADISH = 2 | |||
TAB_INDEX_NONE = 3 | |||
# PatchCanvas defines | |||
CANVAS_ANTIALIASING_SMALL = 1 | |||
CANVAS_EYECANDY_SMALL = 1 | |||
# LADISH defines | |||
LADISH_CONF_KEY_DAEMON_NOTIFY = "/org/ladish/daemon/notify" | |||
LADISH_CONF_KEY_DAEMON_SHELL = "/org/ladish/daemon/shell" | |||
LADISH_CONF_KEY_DAEMON_TERMINAL = "/org/ladish/daemon/terminal" | |||
LADISH_CONF_KEY_DAEMON_STUDIO_AUTOSTART = "/org/ladish/daemon/studio_autostart" | |||
LADISH_CONF_KEY_DAEMON_JS_SAVE_DELAY = "/org/ladish/daemon/js_save_delay" | |||
# LADISH defaults | |||
LADISH_CONF_KEY_DAEMON_NOTIFY_DEFAULT = True | |||
LADISH_CONF_KEY_DAEMON_SHELL_DEFAULT = "sh" | |||
LADISH_CONF_KEY_DAEMON_TERMINAL_DEFAULT = "x-terminal-emulator" | |||
LADISH_CONF_KEY_DAEMON_STUDIO_AUTOSTART_DEFAULT = True | |||
LADISH_CONF_KEY_DAEMON_JS_SAVE_DELAY_DEFAULT = 0 | |||
# Internal defaults | |||
global SETTINGS_DEFAULT_PROJECT_FOLDER | |||
SETTINGS_DEFAULT_PROJECT_FOLDER = HOME | |||
@@ -75,6 +90,7 @@ class SettingsW(QDialog): | |||
if appName == "catarina": | |||
self.fAutoHideGroups = False | |||
self.ui.lw_page.hideRow(TAB_INDEX_MAIN) | |||
self.ui.lw_page.hideRow(TAB_INDEX_LADISH) | |||
self.ui.lw_page.setCurrentCell(TAB_INDEX_CANVAS, 0) | |||
elif appName == "catia": | |||
@@ -83,11 +99,13 @@ class SettingsW(QDialog): | |||
self.ui.group_main_paths.setVisible(False) | |||
self.ui.group_tray.setEnabled(False) | |||
self.ui.group_tray.setVisible(False) | |||
self.ui.lw_page.hideRow(TAB_INDEX_LADISH) | |||
self.ui.lw_page.setCurrentCell(TAB_INDEX_MAIN, 0) | |||
else: | |||
self.ui.lw_page.hideRow(TAB_INDEX_MAIN) | |||
self.ui.lw_page.hideRow(TAB_INDEX_CANVAS) | |||
self.ui.lw_page.hideRow(TAB_INDEX_LADISH) | |||
self.ui.stackedWidget.setCurrentIndex(TAB_INDEX_NONE) | |||
return | |||
@@ -143,6 +161,13 @@ class SettingsW(QDialog): | |||
# --------------------------------------- | |||
if not self.ui.lw_page.isRowHidden(TAB_INDEX_LADISH): | |||
self.ui.cb_ladish_notify.setChecked(settings.value(LADISH_CONF_KEY_DAEMON_NOTIFY, LADISH_CONF_KEY_DAEMON_NOTIFY_DEFAULT, type=bool)) | |||
self.ui.le_ladish_shell.setText(settings.value(LADISH_CONF_KEY_DAEMON_SHELL, LADISH_CONF_KEY_DAEMON_SHELL_DEFAULT, type=str)) | |||
self.ui.le_ladish_terminal.setText(settings.value(LADISH_CONF_KEY_DAEMON_TERMINAL, LADISH_CONF_KEY_DAEMON_TERMINAL_DEFAULT, type=str)) | |||
self.ui.cb_ladish_studio_autostart.setChecked(settings.value(LADISH_CONF_KEY_DAEMON_STUDIO_AUTOSTART, LADISH_CONF_KEY_DAEMON_STUDIO_AUTOSTART_DEFAULT, type=bool)) | |||
self.ui.sb_ladish_jsdelay.setValue(settings.value(LADISH_CONF_KEY_DAEMON_JS_SAVE_DELAY, LADISH_CONF_KEY_DAEMON_JS_SAVE_DELAY_DEFAULT, type=int)) | |||
@pyqtSlot() | |||
def slot_saveSettings(self): | |||
settings = QSettings() | |||
@@ -175,6 +200,13 @@ class SettingsW(QDialog): | |||
# --------------------------------------- | |||
if not self.ui.lw_page.isRowHidden(TAB_INDEX_LADISH): | |||
settings.setValue(LADISH_CONF_KEY_DAEMON_NOTIFY, self.ui.cb_ladish_notify.isChecked()) | |||
settings.setValue(LADISH_CONF_KEY_DAEMON_SHELL, self.ui.le_ladish_shell.text()) | |||
settings.setValue(LADISH_CONF_KEY_DAEMON_TERMINAL, self.ui.le_ladish_terminal.text()) | |||
settings.setValue(LADISH_CONF_KEY_DAEMON_STUDIO_AUTOSTART, self.ui.cb_ladish_studio_autostart.isChecked()) | |||
settings.setValue(LADISH_CONF_KEY_DAEMON_JS_SAVE_DELAY, self.ui.sb_ladish_jsdelay.value()) | |||
@pyqtSlot() | |||
def slot_resetSettings(self): | |||
if self.ui.lw_page.currentRow() == TAB_INDEX_MAIN: | |||
@@ -193,6 +225,12 @@ class SettingsW(QDialog): | |||
self.ui.cb_canvas_render_aa.setCheckState(Qt.PartiallyChecked) | |||
self.ui.cb_canvas_render_hq_aa.setChecked(False) | |||
elif self.ui.lw_page.currentRow() == TAB_INDEX_LADISH: | |||
self.ui.cb_ladish_notify.setChecked(LADISH_CONF_KEY_DAEMON_NOTIFY_DEFAULT) | |||
self.ui.cb_ladish_studio_autostart.setChecked(LADISH_CONF_KEY_DAEMON_STUDIO_AUTOSTART_DEFAULT) | |||
self.ui.le_ladish_shell.setText(LADISH_CONF_KEY_DAEMON_SHELL_DEFAULT) | |||
self.ui.le_ladish_terminal.setText(LADISH_CONF_KEY_DAEMON_TERMINAL_DEFAULT) | |||
@pyqtSlot() | |||
def slot_getAndSetProjectPath(self): | |||
getAndSetPath(self, self.ui.le_main_def_folder.text(), self.ui.le_main_def_folder) | |||