diff --git a/resources/ui/carla_add_jack.ui b/resources/ui/carla_add_jack.ui index 1c19624bf..9a92104b4 100644 --- a/resources/ui/carla_add_jack.ui +++ b/resources/ui/carla_add_jack.ui @@ -7,88 +7,13 @@ 0 0 418 - 306 + 278 Add JACK Application - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 22 - 22 - - - - - - - :/16x16/dialog-warning.png - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Very experimental feature! Do not use! - - - - - - - - 22 - 22 - - - - - - - :/16x16/dialog-warning.png - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - @@ -162,9 +87,6 @@ Take control of main applicaton window - - true - @@ -294,9 +216,6 @@ 64 - - 2 - @@ -344,9 +263,6 @@ 64 - - 2 - diff --git a/source/carla_database.py b/source/carla_database.py index e6e4e9652..bec1865f5 100755 --- a/source/carla_database.py +++ b/source/carla_database.py @@ -29,10 +29,10 @@ from subprocess import Popen, PIPE if config_UseQt5: from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QThread, QSettings - from PyQt5.QtWidgets import QDialog, QTableWidgetItem + from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QTableWidgetItem else: from PyQt4.QtCore import pyqtSignal, pyqtSlot, Qt, QThread, QSettings - from PyQt4.QtGui import QDialog, QTableWidgetItem + from PyQt4.QtGui import QDialog, QDialogButtonBox, QTableWidgetItem # ---------------------------------------------------------------------------------------------------------------------- # Imports (Custom) @@ -1899,8 +1899,20 @@ class JackApplicationW(QDialog): if False: # kdevelop likes this :) - host = CarlaHostNull() - self.host = host + self.host = host = CarlaHostNull() + + # -------------------------------------------------------------------------------------------------------------- + # Load settings + + self.loadSettings() + + # -------------------------------------------------------------------------------------------------------------- + # Set-up connections + + self.finished.connect(self.slot_saveSettings) + self.ui.le_command.textChanged.connect(self.slot_commandChanged) + + # ------------------------------------------------------------------------------------------------------------------ def getCommandAndFlags(self): name = self.ui.le_name.text() @@ -1926,13 +1938,44 @@ class JackApplicationW(QDialog): chr(baseIntVal+flags)) return (command, name, labelSetup) - # -------------------------------------------------------------------------------------------------------- + def loadSettings(self): + settings = QSettings("falkTX", "CarlaAddJackApp") + + command = settings.value("Command", "", type=str) + self.ui.le_command.setText(command) + self.ui.buttonBox.button(QDialogButtonBox.Ok).setEnabled(len(command) > 0) + + self.ui.le_name.setText(settings.value("Name", "", type=str)) + self.ui.sb_audio_ins.setValue(settings.value("NumAudioIns", 2, type=int)) + self.ui.sb_audio_outs.setValue(settings.value("NumAudioOuts", 2, type=int)) + self.ui.sb_midi_ins.setValue(settings.value("NumMidiIns", 0, type=int)) + self.ui.sb_midi_outs.setValue(settings.value("NumMidiOuts", 0, type=int)) + self.ui.cb_manage_window.setChecked(settings.value("ManageWindow", True, type=bool)) + + # ------------------------------------------------------------------------------------------------------------------ + + @pyqtSlot(str) + def slot_commandChanged(self, text): + self.ui.buttonBox.button(QDialogButtonBox.Ok).setEnabled(len(text) > 0) + + @pyqtSlot() + def slot_saveSettings(self): + settings = QSettings("falkTX", "CarlaAddJackApp") + settings.setValue("Command", self.ui.le_command.text()) + settings.setValue("Name", self.ui.le_name.text()) + settings.setValue("NumAudioIns", self.ui.sb_audio_ins.value()) + settings.setValue("NumAudioOuts", self.ui.sb_audio_outs.value()) + settings.setValue("NumMidiIns", self.ui.sb_midi_ins.value()) + settings.setValue("NumMidiOuts", self.ui.sb_midi_outs.value()) + settings.setValue("ManageWindow", self.ui.cb_manage_window.isChecked()) + + # ------------------------------------------------------------------------------------------------------------------ def done(self, r): QDialog.done(self, r) self.close() -# ------------------------------------------------------------------------------------------------------------ +# ---------------------------------------------------------------------------------------------------------------------- # Main if __name__ == '__main__':