From 006d09e77f8484cf40ad185281bdebf850dfbf56 Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 23 Feb 2018 00:02:01 +0100 Subject: [PATCH] Finish porting to Qt5, please test --- resources/ui/catarina.ui | 12 +--- resources/ui/catia.ui | 12 +--- resources/ui/claudia.ui | 12 +--- src/cadence.py | 33 +++++---- src/canvaspreviewframe.py | 2 +- src/catarina.py | 139 +++++++++++++++++++------------------- src/catia.py | 6 +- src/claudia.py | 110 ++++++++++++++++++------------ src/clickablelabel.py | 2 +- src/jacksettings.py | 27 ++++---- src/patchcanvas.py | 4 +- src/shared.py | 1 - src/shared_canvasjack.py | 15 ---- src/shared_settings.py | 3 +- 14 files changed, 181 insertions(+), 197 deletions(-) diff --git a/resources/ui/catarina.ui b/resources/ui/catarina.ui index fe77fce..1421c5e 100644 --- a/resources/ui/catarina.ui +++ b/resources/ui/catarina.ui @@ -419,7 +419,7 @@ 0 0 651 - 19 + 20 @@ -483,7 +483,6 @@ - @@ -677,15 +676,6 @@ Ctrl+G - - - - :/16x16/document-print.png:/16x16/document-print.png - - - Print... - - Save Image... diff --git a/resources/ui/catia.ui b/resources/ui/catia.ui index 3b7ec2b..ff6d5d9 100644 --- a/resources/ui/catia.ui +++ b/resources/ui/catia.ui @@ -458,7 +458,7 @@ 0 0 702 - 19 + 20 @@ -501,7 +501,6 @@ - @@ -940,15 +939,6 @@ Save As &Template... - - - - :/16x16/document-print.png:/16x16/document-print.png - - - &Print... - - Save &Image... diff --git a/resources/ui/claudia.ui b/resources/ui/claudia.ui index f1a27df..3283316 100644 --- a/resources/ui/claudia.ui +++ b/resources/ui/claudia.ui @@ -770,7 +770,7 @@ 0 0 877 - 19 + 20 @@ -916,7 +916,6 @@ - @@ -1346,15 +1345,6 @@ Ctrl+1 - - - - :/16x16/document-print.png:/16x16/document-print.png - - - Print... - - Save Image... diff --git a/src/cadence.py b/src/cadence.py index 4800bcd..20d250d 100755 --- a/src/cadence.py +++ b/src/cadence.py @@ -52,7 +52,7 @@ from subprocess import getoutput try: import dbus - from dbus.mainloop.qt import DBusQtMainLoop + from dbus.mainloop.pyqt5 import DBusQtMainLoop haveDBus = True except: haveDBus = False @@ -746,6 +746,13 @@ class ToolBarPADialog(QDialog, ui_cadence_tb_pa.Ui_Dialog): # Main Window class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW): + DBusJackServerStartedCallback = pyqtSignal() + DBusJackServerStoppedCallback = pyqtSignal() + DBusJackClientAppearedCallback = pyqtSignal(int, str) + DBusJackClientDisappearedCallback = pyqtSignal(int) + DBusA2JBridgeStartedCallback = pyqtSignal() + DBusA2JBridgeStoppedCallback = pyqtSignal() + SIGTERM = pyqtSignal() SIGUSR1 = pyqtSignal() SIGUSR2 = pyqtSignal() @@ -892,9 +899,8 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW): self.settings_changed_types = [] self.frame_tweaks_settings.setVisible(False) - # FIXME QT4 - #for i in range(self.tw_tweaks.rowCount()): - #self.tw_tweaks.item(0, i).setTextAlignment(Qt.AlignCenter) + for i in range(self.tw_tweaks.rowCount()): + self.tw_tweaks.item(i, 0).setTextAlignment(Qt.AlignCenter) self.tw_tweaks.setCurrentCell(0, 0) @@ -1183,18 +1189,17 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW): self.cb_wineasio_fixed_bsize.clicked.connect(self.slot_tweaksSettingsChanged_wineasio) self.cb_wineasio_bsizes.currentIndexChanged.connect(self.slot_tweaksSettingsChanged_wineasio) - # FIXME QT4 - ## org.jackaudio.JackControl - #self.DBusJackServerStartedCallback.connect(self.slot_DBusJackServerStartedCallback) - #self.DBusJackServerStoppedCallback.connect(self.slot_DBusJackServerStoppedCallback) + # org.jackaudio.JackControl + self.DBusJackServerStartedCallback.connect(self.slot_DBusJackServerStartedCallback) + self.DBusJackServerStoppedCallback.connect(self.slot_DBusJackServerStoppedCallback) - ## org.jackaudio.JackPatchbay - #self.DBusJackClientAppearedCallback.connect(self.slot_DBusJackClientAppearedCallback) - #self.DBusJackClientDisappearedCallback.connect(self.slot_DBusJackClientDisappearedCallback) + # org.jackaudio.JackPatchbay + self.DBusJackClientAppearedCallback.connect(self.slot_DBusJackClientAppearedCallback) + self.DBusJackClientDisappearedCallback.connect(self.slot_DBusJackClientDisappearedCallback) - ## org.gna.home.a2jmidid.control - #self.DBusA2JBridgeStartedCallback.connect(self.slot_DBusA2JBridgeStartedCallback) - #self.DBusA2JBridgeStoppedCallback.connect(self.slot_DBusA2JBridgeStoppedCallback) + # org.gna.home.a2jmidid.control + self.DBusA2JBridgeStartedCallback.connect(self.slot_DBusA2JBridgeStartedCallback) + self.DBusA2JBridgeStoppedCallback.connect(self.slot_DBusA2JBridgeStoppedCallback) # ------------------------------------------------------------- diff --git a/src/canvaspreviewframe.py b/src/canvaspreviewframe.py index d928dd7..e04611e 100644 --- a/src/canvaspreviewframe.py +++ b/src/canvaspreviewframe.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -# Custom Mini Canvas Preview, a custom Qt4 widget +# Custom Mini Canvas Preview, a custom Qt widget # Copyright (C) 2011-2018 Filipe Coelho # # This program is free software; you can redistribute it and/or diff --git a/src/catarina.py b/src/catarina.py index 3fff71b..3a3156e 100755 --- a/src/catarina.py +++ b/src/catarina.py @@ -22,8 +22,7 @@ if True: from PyQt5.QtCore import pyqtSlot, QSettings from PyQt5.QtWidgets import QApplication, QDialog, QDialogButtonBox, QTableWidgetItem - # FIXME QT4 - #from PyQt5.QtXml import QDomDocument + from PyQt5.QtXml import QDomDocument else: from PyQt4.QtCore import pyqtSlot, QSettings from PyQt4.QtGui import QApplication, QDialog, QDialogButtonBox, QTableWidgetItem @@ -133,9 +132,9 @@ class CatarinaRemoveGroupW(QDialog, ui_catarina_removegroup.Ui_CatarinaRemoveGro self.tw_group_list.setItem(index, 2, twi_group_split) index += 1 - self.connect(self, SIGNAL("accepted()"), SLOT("slot_setReturn()")) - self.connect(self.tw_group_list, SIGNAL("cellDoubleClicked(int, int)"), SLOT("accept()")) - self.connect(self.tw_group_list, SIGNAL("currentCellChanged(int, int, int, int)"), SLOT("slot_checkCell(int)")) + self.accepted.connect(self.slot_setReturn) + self.tw_group_list.cellDoubleClicked.connect(self.accept) + self.tw_group_list.currentCellChanged.connect(self.slot_checkCell) self.ret_group_id = -1 @@ -169,9 +168,9 @@ class CatarinaRenameGroupW(QDialog, ui_catarina_renamegroup.Ui_CatarinaRenameGro self.cb_group_to_rename.addItem("%i - %s" % (group[iGroupId], group[iGroupName])) self.m_group_list_names.append(group[iGroupName]) - self.connect(self, SIGNAL("accepted()"), SLOT("slot_setReturn()")) - self.connect(self.cb_group_to_rename, SIGNAL("currentIndexChanged(int)"), SLOT("slot_checkItem()")) - self.connect(self.le_new_group_name, SIGNAL("textChanged(QString)"), SLOT("slot_checkText(QString)")) + self.accepted.connect(self.slot_setReturn) + self.cb_group_to_rename.currentIndexChanged.connect(self.slot_checkItem) + self.le_new_group_name.textChanged.connect(self.slot_checkText) self.ret_group_id = -1 self.ret_new_group_name = "" @@ -210,8 +209,8 @@ class CatarinaAddPortW(QDialog, ui_catarina_addport.Ui_CatarinaAddPortW): for group in group_list: self.cb_group.addItem("%i - %s" % (group[iGroupId], group[iGroupName])) - self.connect(self, SIGNAL("accepted()"), SLOT("slot_setReturn()")) - self.connect(self.le_port_name, SIGNAL("textChanged(QString)"), SLOT("slot_checkText(QString)")) + self.accepted.connect(self.slot_setReturn) + self.le_port_name.textChanged.connect(self.slot_checkText) self.ret_group_id = -1 self.ret_port_name = "" @@ -249,15 +248,15 @@ class CatarinaRemovePortW(QDialog, ui_catarina_removeport.Ui_CatarinaRemovePortW self.m_group_list = group_list self.m_port_list = port_list - self.connect(self, SIGNAL("accepted()"), SLOT("slot_setReturn()")) - self.connect(self.tw_port_list, SIGNAL("cellDoubleClicked(int, int)"), SLOT("accept()")) - self.connect(self.tw_port_list, SIGNAL("currentCellChanged(int, int, int, int)"), SLOT("slot_checkCell(int)")) - self.connect(self.rb_input, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) - self.connect(self.rb_output, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) - self.connect(self.rb_audio_jack, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) - self.connect(self.rb_midi_jack, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) - self.connect(self.rb_midi_a2j, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) - self.connect(self.rb_midi_alsa, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) + self.accepted.connect(self.slot_setReturn) + self.tw_port_list.cellDoubleClicked.connect(self.accept) + self.tw_port_list.currentCellChanged.connect(self.slot_checkCell) + self.rb_input.clicked.connect(self.slot_reAddPorts) + self.rb_output.clicked.connect(self.slot_reAddPorts) + self.rb_audio_jack.clicked.connect(self.slot_reAddPorts) + self.rb_midi_jack.clicked.connect(self.slot_reAddPorts) + self.rb_midi_a2j.clicked.connect(self.slot_reAddPorts) + self.rb_midi_alsa.clicked.connect(self.slot_reAddPorts) self.ret_port_id = -1 self.reAddPorts() @@ -331,16 +330,16 @@ class CatarinaRenamePortW(QDialog, ui_catarina_renameport.Ui_CatarinaRenamePortW self.m_group_list = group_list self.m_port_list = port_list - self.connect(self, SIGNAL("accepted()"), SLOT("slot_setReturn()")) - self.connect(self.tw_port_list, SIGNAL("currentCellChanged(int, int, int, int)"), SLOT("slot_checkCell()")) - self.connect(self.le_new_name, SIGNAL("textChanged(QString)"), SLOT("slot_checkText(QString)")) + self.accepted.connect(self.slot_setReturn) + self.tw_port_list.currentCellChanged.connect(self.slot_checkCell) + self.le_new_name.textChanged.connect(self.slot_checkText) - self.connect(self.rb_input, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) - self.connect(self.rb_output, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) - self.connect(self.rb_audio_jack, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) - self.connect(self.rb_midi_jack, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) - self.connect(self.rb_midi_a2j, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) - self.connect(self.rb_midi_alsa, SIGNAL("clicked()"), SLOT("slot_reAddPorts()")) + self.rb_input.clicked.connect(self.slot_reAddPorts) + self.rb_output.clicked.connect(self.slot_reAddPorts) + self.rb_audio_jack.clicked.connect(self.slot_reAddPorts) + self.rb_midi_jack.clicked.connect(self.slot_reAddPorts) + self.rb_midi_a2j.clicked.connect(self.slot_reAddPorts) + self.rb_midi_alsa.clicked.connect(self.slot_reAddPorts) self.ret_port_id = -1 self.ret_new_port_name = "" @@ -435,13 +434,13 @@ class CatarinaConnectPortsW(QDialog, ui_catarina_connectports.Ui_CatarinaConnect elif port[iPortType] == patchcanvas.PORT_TYPE_MIDI_ALSA: self.m_ports_midi_alsa.append(port) - self.connect(self, SIGNAL("accepted()"), SLOT("slot_setReturn()")) - self.connect(self.rb_audio_jack, SIGNAL("clicked()"), SLOT("slot_portTypeChanged()")) - self.connect(self.rb_midi_jack, SIGNAL("clicked()"), SLOT("slot_portTypeChanged()")) - self.connect(self.rb_midi_a2j, SIGNAL("clicked()"), SLOT("slot_portTypeChanged()")) - self.connect(self.rb_midi_alsa, SIGNAL("clicked()"), SLOT("slot_portTypeChanged()")) - self.connect(self.lw_outputs, SIGNAL("currentRowChanged(int)"), SLOT("slot_checkOutSelection(int)")) - self.connect(self.lw_inputs, SIGNAL("currentRowChanged(int)"), SLOT("slot_checkInSelection(int)")) + self.accepted.connect(self.slot_setReturn) + self.rb_audio_jack.clicked.connect(self.slot_portTypeChanged) + self.rb_midi_jack.clicked.connect(self.slot_portTypeChanged) + self.rb_midi_a2j.clicked.connect(self.slot_portTypeChanged) + self.rb_midi_alsa.clicked.connect(self.slot_portTypeChanged) + self.lw_outputs.currentRowChanged.connect(self.slot_checkOutSelection) + self.lw_inputs.currentRowChanged.connect(self.slot_checkInSelection) self.ret_port_out_id = -1 self.ret_port_in_id = -1 @@ -516,13 +515,13 @@ class CatarinaDisconnectPortsW(QDialog, ui_catarina_disconnectports.Ui_CatarinaD self.m_port_list = port_list self.m_connection_list = connection_list - self.connect(self, SIGNAL("accepted()"), SLOT("slot_setReturn()")) - self.connect(self.tw_connections, SIGNAL("cellDoubleClicked(int, int)"), SLOT("accept()")) - self.connect(self.tw_connections, SIGNAL("currentCellChanged(int, int, int, int)"), SLOT("slot_checkSelection(int)")) - self.connect(self.rb_audio_jack, SIGNAL("clicked()"), SLOT("slot_portTypeChanged()")) - self.connect(self.rb_midi_jack, SIGNAL("clicked()"), SLOT("slot_portTypeChanged()")) - self.connect(self.rb_midi_a2j, SIGNAL("clicked()"), SLOT("slot_portTypeChanged()")) - self.connect(self.rb_midi_alsa, SIGNAL("clicked()"), SLOT("slot_portTypeChanged()")) + self.accepted.connect(self.slot_setReturn) + self.tw_connections.cellDoubleClicked.connect(self.accept) + self.tw_connections.currentCellChanged.connect(self.slot_checkSelection) + self.rb_audio_jack.clicked.connect(self.slot_portTypeChanged) + self.rb_midi_jack.clicked.connect(self.slot_portTypeChanged) + self.rb_midi_a2j.clicked.connect(self.slot_portTypeChanged) + self.rb_midi_alsa.clicked.connect(self.slot_portTypeChanged) self.ret_port_out_id = -1 self.ret_port_in_id = -1 @@ -665,39 +664,39 @@ class CatarinaMainW(AbstractCanvasJackClass): patchcanvas.setFeatures(p_features) patchcanvas.init("Catarina", self.scene, self.canvasCallback, DEBUG) - self.connect(self.ui.act_project_new, SIGNAL("triggered()"), SLOT("slot_projectNew()")) - self.connect(self.ui.act_project_open, SIGNAL("triggered()"), SLOT("slot_projectOpen()")) - self.connect(self.ui.act_project_save, SIGNAL("triggered()"), SLOT("slot_projectSave()")) - self.connect(self.ui.act_project_save_as, SIGNAL("triggered()"), SLOT("slot_projectSaveAs()")) - self.connect(self.ui.b_project_new, SIGNAL("clicked()"), SLOT("slot_projectNew()")) - self.connect(self.ui.b_project_open, SIGNAL("clicked()"), SLOT("slot_projectOpen()")) - self.connect(self.ui.b_project_save, SIGNAL("clicked()"), SLOT("slot_projectSave()")) - self.connect(self.ui.b_project_save_as, SIGNAL("clicked()"), SLOT("slot_projectSaveAs()")) - self.connect(self.ui.act_patchbay_add_group, SIGNAL("triggered()"), SLOT("slot_groupAdd()")) - self.connect(self.ui.act_patchbay_remove_group, SIGNAL("triggered()"), SLOT("slot_groupRemove()")) - self.connect(self.ui.act_patchbay_rename_group, SIGNAL("triggered()"), SLOT("slot_groupRename()")) - self.connect(self.ui.act_patchbay_add_port, SIGNAL("triggered()"), SLOT("slot_portAdd()")) - self.connect(self.ui.act_patchbay_remove_port, SIGNAL("triggered()"), SLOT("slot_portRemove()")) - self.connect(self.ui.act_patchbay_rename_port, SIGNAL("triggered()"), SLOT("slot_portRename()")) - self.connect(self.ui.act_patchbay_connect_ports, SIGNAL("triggered()"), SLOT("slot_connectPorts()")) - self.connect(self.ui.act_patchbay_disconnect_ports, SIGNAL("triggered()"), SLOT("slot_disconnectPorts()")) - self.connect(self.ui.b_group_add, SIGNAL("clicked()"), SLOT("slot_groupAdd()")) - self.connect(self.ui.b_group_remove, SIGNAL("clicked()"), SLOT("slot_groupRemove()")) - self.connect(self.ui.b_group_rename, SIGNAL("clicked()"), SLOT("slot_groupRename()")) - self.connect(self.ui.b_port_add, SIGNAL("clicked()"), SLOT("slot_portAdd()")) - self.connect(self.ui.b_port_remove, SIGNAL("clicked()"), SLOT("slot_portRemove()")) - self.connect(self.ui.b_port_rename, SIGNAL("clicked()"), SLOT("slot_portRename()")) - self.connect(self.ui.b_ports_connect, SIGNAL("clicked()"), SLOT("slot_connectPorts()")) - self.connect(self.ui.b_ports_disconnect, SIGNAL("clicked()"), SLOT("slot_disconnectPorts()")) + self.ui.act_project_new.triggered.connect(self.slot_projectNew) + self.ui.act_project_open.triggered.connect(self.slot_projectOpen) + self.ui.act_project_save.triggered.connect(self.slot_projectSave) + self.ui.act_project_save_as.triggered.connect(self.slot_projectSaveAs) + self.ui.b_project_new.clicked.connect(self.slot_projectNew) + self.ui.b_project_open.clicked.connect(self.slot_projectOpen) + self.ui.b_project_save.clicked.connect(self.slot_projectSave) + self.ui.b_project_save_as.clicked.connect(self.slot_projectSaveAs) + self.ui.act_patchbay_add_group.triggered.connect(self.slot_groupAdd) + self.ui.act_patchbay_remove_group.triggered.connect(self.slot_groupRemove) + self.ui.act_patchbay_rename_group.triggered.connect(self.slot_groupRename) + self.ui.act_patchbay_add_port.triggered.connect(self.slot_portAdd) + self.ui.act_patchbay_remove_port.triggered.connect(self.slot_portRemove) + self.ui.act_patchbay_rename_port.triggered.connect(self.slot_portRename) + self.ui.act_patchbay_connect_ports.triggered.connect(self.slot_connectPorts) + self.ui.act_patchbay_disconnect_ports.triggered.connect(self.slot_disconnectPorts) + self.ui.b_group_add.clicked.connect(self.slot_groupAdd) + self.ui.b_group_remove.clicked.connect(self.slot_groupRemove) + self.ui.b_group_rename.clicked.connect(self.slot_groupRename) + self.ui.b_port_add.clicked.connect(self.slot_portAdd) + self.ui.b_port_remove.clicked.connect(self.slot_portRemove) + self.ui.b_port_rename.clicked.connect(self.slot_portRename) + self.ui.b_ports_connect.clicked.connect(self.slot_connectPorts) + self.ui.b_ports_disconnect.clicked.connect(self.slot_disconnectPorts) self.setCanvasConnections() - self.connect(self.ui.act_settings_configure, SIGNAL("triggered()"), SLOT("slot_configureCatarina()")) + self.ui.act_settings_configure.triggered.connect(self.slot_configureCatarina) - self.connect(self.ui.act_help_about, SIGNAL("triggered()"), SLOT("slot_aboutCatarina()")) - self.connect(self.ui.act_help_about_qt, SIGNAL("triggered()"), app, SLOT("aboutQt()")) + self.ui.act_help_about.triggered.connect(self.slot_aboutCatarina) + self.ui.act_help_about_qt.triggered.connect(app.aboutQt) - self.connect(self, SIGNAL("SIGUSR1()"), SLOT("slot_projectSave()")) + self.SIGUSR1.connect(self.slot_projectSave) # Dummy timer to keep events active self.fUpdateTimer = self.startTimer(1000) diff --git a/src/catia.py b/src/catia.py index 794c248..3664f5f 100755 --- a/src/catia.py +++ b/src/catia.py @@ -28,7 +28,7 @@ from shared_settings import * try: import dbus - from dbus.mainloop.qt import DBusQtMainLoop + from dbus.mainloop.pyqt5 import DBusQtMainLoop haveDBus = True except: haveDBus = False @@ -1022,9 +1022,9 @@ class CatiaMainW(AbstractCanvasJackClass): if not newId: # Something crashed if appInterface == "org.gna.home.a2jmidid": - QTimer.singleShot(0, self, SLOT("slot_handleCrash_a2j()")) + QTimer.singleShot(0, self.slot_handleCrash_a2j) elif appInterface == "org.jackaudio.service": - QTimer.singleShot(0, self, SLOT("slot_handleCrash_jack()")) + QTimer.singleShot(0, self.slot_handleCrash_jack) elif kwds['interface'] == "org.jackaudio.JackControl": if kwds['member'] == "ServerStarted": diff --git a/src/claudia.py b/src/claudia.py index 2d5f1c1..9e4e50c 100755 --- a/src/claudia.py +++ b/src/claudia.py @@ -48,7 +48,7 @@ from shared_settings import * try: import dbus - from dbus.mainloop.qt import DBusQtMainLoop + from dbus.mainloop.pyqt5 import DBusQtMainLoop haveDBus = True except: haveDBus = False @@ -57,7 +57,7 @@ except: # Try Import OpenGL try: - from PyQt4.QtOpenGL import QGLWidget + from PyQt5.QtOpenGL import QGLWidget hasGL = True except: hasGL = False @@ -602,6 +602,33 @@ class ClaudiaLauncherW(QDialog): # Claudia Main Window class ClaudiaMainW(AbstractCanvasJackClass): + DBusCrashCallback = pyqtSignal(str) + DBusServerStartedCallback = pyqtSignal() + DBusServerStoppedCallback = pyqtSignal() + DBusClientAppearedCallback = pyqtSignal(int, str) + DBusClientDisappearedCallback = pyqtSignal(int) + DBusClientRenamedCallback = pyqtSignal(int, str) + DBusPortAppearedCallback = pyqtSignal(int, int, str, int, int) + DBusPortDisppearedCallback = pyqtSignal(int) + DBusPortRenamedCallback = pyqtSignal(int, str) + DBusPortsConnectedCallback = pyqtSignal(int, int, int) + DBusPortsDisconnectedCallback = pyqtSignal(int) + DBusStudioAppearedCallback = pyqtSignal() + DBusStudioDisappearedCallback = pyqtSignal() + DBusQueueExecutionHaltedCallback = pyqtSignal() + DBusCleanExitCallback = pyqtSignal() + DBusStudioStartedCallback = pyqtSignal() + DBusStudioStoppedCallback = pyqtSignal() + DBusStudioRenamedCallback = pyqtSignal(str) + DBusStudioCrashedCallback = pyqtSignal() + DBusRoomAppearedCallback = pyqtSignal(str, str) + DBusRoomDisappearedCallback = pyqtSignal(str) + DBusRoomChangedCallback = pyqtSignal() + DBusProjectPropertiesChanged = pyqtSignal(str, str) + DBusAppAdded2Callback = pyqtSignal(str, int, str, bool, bool, str) + DBusAppRemovedCallback = pyqtSignal(str, int) + DBusAppStateChanged2Callback = pyqtSignal(str, int, str, bool, bool, str) + def __init__(self, parent=None): AbstractCanvasJackClass.__init__(self, "Claudia", ui_claudia.Ui_ClaudiaMainW, parent) @@ -854,46 +881,45 @@ class ClaudiaMainW(AbstractCanvasJackClass): self.ui.act_help_about.triggered.connect(self.slot_aboutClaudia) self.ui.act_help_about_qt.triggered.connect(app.aboutQt) - # FIXME QT4 - ## org.freedesktop.DBus - #self.DBusCrashCallback.connect(self.slot_DBusCrashCallback) - - ## org.jackaudio.JackControl - #self.DBusServerStartedCallback.connect(self.slot_DBusServerStartedCallback) - #self.DBusServerStoppedCallback.connect(self.slot_DBusServerStoppedCallback) - - ## org.jackaudio.JackPatchbay - #self.DBusClientAppearedCallback.connect(self.slot_DBusClientAppearedCallback) - #self.DBusClientDisappearedCallback.connect(self.slot_DBusClientDisappearedCallback) - #self.DBusClientRenamedCallback.connect(self.slot_DBusClientRenamedCallback) - #self.DBusPortAppearedCallback.connect(self.slot_DBusPortAppearedCallback) - #self.DBusPortDisppearedCallback.connect(self.slot_DBusPortDisppearedCallback) - #self.DBusPortRenamedCallback.connect(self.slot_DBusPortRenamedCallback) - #self.DBusPortsConnectedCallback.connect(self.slot_DBusPortsConnectedCallback) - #self.DBusPortsDisconnectedCallback.connect(self.slot_DBusPortsDisconnectedCallback) - - ## org.ladish.Control - #self.DBusStudioAppearedCallback.connect(self.slot_DBusStudioAppearedCallback) - #self.DBusStudioDisappearedCallback.connect(self.slot_DBusStudioDisappearedCallback) - #self.DBusQueueExecutionHaltedCallback.connect(self.slot_DBusQueueExecutionHaltedCallback) - #self.DBusCleanExitCallback.connect(self.slot_DBusCleanExitCallback) - - ## org.ladish.Studio - #self.DBusStudioStartedCallback.connect(self.slot_DBusStudioStartedCallback) - #self.DBusStudioStoppedCallback.connect(self.slot_DBusStudioStoppedCallback) - #self.DBusStudioRenamedCallback.connect(self.slot_DBusStudioRenamedCallback) - #self.DBusStudioCrashedCallback.connect(self.slot_DBusStudioCrashedCallback) - #self.DBusRoomAppearedCallback.connect(self.slot_DBusRoomAppearedCallback) - #self.DBusRoomDisappearedCallback.connect(self.slot_DBusRoomDisappearedCallback) - ##self.DBusRoomChangedCallback.connect(self.slot_DBusRoomChangedCallback) - - ## org.ladish.Room - #self.DBusProjectPropertiesChanged.connect(self.slot_DBusProjectPropertiesChanged) - - ## org.ladish.AppSupervisor - #self.DBusAppAdded2Callback.connect(self.slot_DBusAppAdded2Callback) - #self.DBusAppRemovedCallback.connect(self.slot_DBusAppRemovedCallback) - #self.DBusAppStateChanged2Callback.connect(self.slot_DBusAppStateChanged2Callback) + # org.freedesktop.DBus + self.DBusCrashCallback.connect(self.slot_DBusCrashCallback) + + # org.jackaudio.JackControl + self.DBusServerStartedCallback.connect(self.slot_DBusServerStartedCallback) + self.DBusServerStoppedCallback.connect(self.slot_DBusServerStoppedCallback) + + # org.jackaudio.JackPatchbay + self.DBusClientAppearedCallback.connect(self.slot_DBusClientAppearedCallback) + self.DBusClientDisappearedCallback.connect(self.slot_DBusClientDisappearedCallback) + self.DBusClientRenamedCallback.connect(self.slot_DBusClientRenamedCallback) + self.DBusPortAppearedCallback.connect(self.slot_DBusPortAppearedCallback) + self.DBusPortDisppearedCallback.connect(self.slot_DBusPortDisppearedCallback) + self.DBusPortRenamedCallback.connect(self.slot_DBusPortRenamedCallback) + self.DBusPortsConnectedCallback.connect(self.slot_DBusPortsConnectedCallback) + self.DBusPortsDisconnectedCallback.connect(self.slot_DBusPortsDisconnectedCallback) + + # org.ladish.Control + self.DBusStudioAppearedCallback.connect(self.slot_DBusStudioAppearedCallback) + self.DBusStudioDisappearedCallback.connect(self.slot_DBusStudioDisappearedCallback) + self.DBusQueueExecutionHaltedCallback.connect(self.slot_DBusQueueExecutionHaltedCallback) + self.DBusCleanExitCallback.connect(self.slot_DBusCleanExitCallback) + + # org.ladish.Studio + self.DBusStudioStartedCallback.connect(self.slot_DBusStudioStartedCallback) + self.DBusStudioStoppedCallback.connect(self.slot_DBusStudioStoppedCallback) + self.DBusStudioRenamedCallback.connect(self.slot_DBusStudioRenamedCallback) + self.DBusStudioCrashedCallback.connect(self.slot_DBusStudioCrashedCallback) + self.DBusRoomAppearedCallback.connect(self.slot_DBusRoomAppearedCallback) + self.DBusRoomDisappearedCallback.connect(self.slot_DBusRoomDisappearedCallback) + #self.DBusRoomChangedCallback.connect(self.slot_DBusRoomChangedCallback) + + # org.ladish.Room + self.DBusProjectPropertiesChanged.connect(self.slot_DBusProjectPropertiesChanged) + + # org.ladish.AppSupervisor + self.DBusAppAdded2Callback.connect(self.slot_DBusAppAdded2Callback) + self.DBusAppRemovedCallback.connect(self.slot_DBusAppRemovedCallback) + self.DBusAppStateChanged2Callback.connect(self.slot_DBusAppStateChanged2Callback) # JACK self.BufferSizeCallback.connect(self.slot_JackBufferSizeCallback) diff --git a/src/clickablelabel.py b/src/clickablelabel.py index ef47999..ad55568 100644 --- a/src/clickablelabel.py +++ b/src/clickablelabel.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -# Clickable Label, a custom Qt4 widget +# Clickable Label, a custom Qt widget # Copyright (C) 2011-2018 Filipe Coelho # # This program is free software; you can redistribute it and/or modify diff --git a/src/jacksettings.py b/src/jacksettings.py index 013ba84..49b0fd3 100755 --- a/src/jacksettings.py +++ b/src/jacksettings.py @@ -203,20 +203,21 @@ class JackSettingsW(QDialog): # Align driver text and hide non available ones driverList = gJackctl.ReadContainer(["drivers"])[1] + fontMetris = QFontMetrics(self.ui.obj_server_driver.font()) maxWidth = 75 - # FIXME QT4 - #for i in range(self.ui.obj_server_driver.rowCount()): - #self.ui.obj_server_driver.item(0, i).setTextAlignment(Qt.AlignCenter) + for i in range(self.ui.obj_server_driver.rowCount()): + item = self.ui.obj_server_driver.item(i, 0) + item.setTextAlignment(Qt.AlignCenter) - #itexText = self.ui.obj_server_driver.item(0, i).text() - #itemWidth = QFontMetrics(self.ui.obj_server_driver.font()).width(itexText)+25 + itexText = item.text() + itemWidth = fontMetris.width(itexText)+25 - #if itemWidth > maxWidth: - #maxWidth = itemWidth + if itemWidth > maxWidth: + maxWidth = itemWidth - #if dbus.String(itexText.lower()) not in driverList: - #self.ui.obj_server_driver.hideRow(i) + if dbus.String(itexText.lower()) not in driverList: + self.ui.obj_server_driver.hideRow(i) self.ui.obj_server_driver.setMinimumWidth(maxWidth) self.ui.obj_server_driver.setMaximumWidth(maxWidth) @@ -853,22 +854,22 @@ class JackSettingsW(QDialog): self.ui.obj_driver_channels_label.setEnabled(driverHasFeature("channels")) # Misc stuff - if self.ui.obj_server_driver.item(0, row).text() == "ALSA": + if self.ui.obj_server_driver.item(row, 0).text() == "ALSA": self.ui.toolbox_driver_misc.setCurrentIndex(1) self.ui.obj_driver_capture_label.setText(self.tr("Input Device:")) self.ui.obj_driver_playback_label.setText(self.tr("Output Device:")) - elif self.ui.obj_server_driver.item(0, row).text() == "Dummy": + elif self.ui.obj_server_driver.item(row, 0).text() == "Dummy": self.ui.toolbox_driver_misc.setCurrentIndex(2) self.ui.obj_driver_capture_label.setText(self.tr("Input Ports:")) self.ui.obj_driver_playback_label.setText(self.tr("Output Ports:")) - elif self.ui.obj_server_driver.item(0, row).text() == "FireWire": + elif self.ui.obj_server_driver.item(row, 0).text() == "FireWire": self.ui.toolbox_driver_misc.setCurrentIndex(3) self.ui.obj_driver_capture_label.setText(self.tr("Capture Ports:")) self.ui.obj_driver_playback_label.setText(self.tr("Playback Ports:")) - elif self.ui.obj_server_driver.item(0, row).text() == "Loopback": + elif self.ui.obj_server_driver.item(row, 0).text() == "Loopback": self.ui.toolbox_driver_misc.setCurrentIndex(4) else: diff --git a/src/patchcanvas.py b/src/patchcanvas.py index cfa8441..eb05377 100644 --- a/src/patchcanvas.py +++ b/src/patchcanvas.py @@ -25,6 +25,7 @@ if True: from PyQt5.QtWidgets import QGraphicsScene, QGraphicsItem, QGraphicsLineItem, QGraphicsPathItem from PyQt5.QtWidgets import QGraphicsColorizeEffect, QGraphicsDropShadowEffect from PyQt5.QtWidgets import QInputDialog, QLineEdit, QMenu + from PyQt5.QtSvg import QGraphicsSvgItem, QSvgRenderer else: from PyQt4.QtCore import pyqtSignal, pyqtSlot, qDebug, qCritical, qFatal, qWarning, Qt, QObject from PyQt4.QtCore import QAbstractAnimation, QLineF, QPointF, QRectF, QSizeF, QSettings, QTimer @@ -33,8 +34,7 @@ else: from PyQt4.QtGui import QGraphicsScene, QGraphicsItem, QGraphicsLineItem, QGraphicsPathItem from PyQt4.QtGui import QGraphicsColorizeEffect, QGraphicsDropShadowEffect from PyQt4.QtGui import QInputDialog, QLineEdit, QMenu - -from PyQt5.QtSvg import QGraphicsSvgItem, QSvgRenderer + from PyQt4.QtSvg import QGraphicsSvgItem, QSvgRenderer # Imports (Theme) from patchcanvas_theme import * diff --git a/src/shared.py b/src/shared.py index a758736..8e5893a 100644 --- a/src/shared.py +++ b/src/shared.py @@ -278,7 +278,6 @@ def setIcons(self_, modes): gGui.ui.act_canvas_zoom_in.setIcon(getIcon("zoom-in")) gGui.ui.act_canvas_zoom_out.setIcon(getIcon("zoom-out")) gGui.ui.act_canvas_zoom_100.setIcon(getIcon("zoom-original")) - gGui.ui.act_canvas_print.setIcon(getIcon("document-print")) gGui.ui.b_canvas_zoom_fit.setIcon(getIcon("zoom-fit-best")) gGui.ui.b_canvas_zoom_in.setIcon(getIcon("zoom-in")) gGui.ui.b_canvas_zoom_out.setIcon(getIcon("zoom-out")) diff --git a/src/shared_canvasjack.py b/src/shared_canvasjack.py index 1241f3e..6c73622 100644 --- a/src/shared_canvasjack.py +++ b/src/shared_canvasjack.py @@ -496,20 +496,6 @@ class AbstractCanvasJackClass(QMainWindow): def slot_canvasZoomReset(self): self.scene.zoom_reset() - @pyqtSlot() - def slot_canvasPrint(self): - self.scene.clearSelection() - self.fExportPrinter = QPrinter() - dialog = QPrintDialog(self.fExportPrinter, self) - - if dialog.exec_(): - painter = QPainter(self.fExportPrinter) - painter.save() - painter.setRenderHint(QPainter.Antialiasing, True) - painter.setRenderHint(QPainter.TextAntialiasing, True) - self.scene.render(painter) - painter.restore() - @pyqtSlot() def slot_canvasSaveImage(self): newPath = QFileDialog.getSaveFileName(self, self.tr("Save Image"), filter=self.tr("PNG Image (*.png);;JPEG Image (*.jpg)")) @@ -548,7 +534,6 @@ class AbstractCanvasJackClass(QMainWindow): self.ui.act_canvas_zoom_in.triggered.connect(self.slot_canvasZoomIn) self.ui.act_canvas_zoom_out.triggered.connect(self.slot_canvasZoomOut) self.ui.act_canvas_zoom_100.triggered.connect(self.slot_canvasZoomReset) - self.ui.act_canvas_print.triggered.connect(self.slot_canvasPrint) self.ui.act_canvas_save_image.triggered.connect(self.slot_canvasSaveImage) self.ui.b_canvas_zoom_fit.clicked.connect(self.slot_canvasZoomFit) self.ui.b_canvas_zoom_in.clicked.connect(self.slot_canvasZoomIn) diff --git a/src/shared_settings.py b/src/shared_settings.py index 875f042..19412d6 100644 --- a/src/shared_settings.py +++ b/src/shared_settings.py @@ -138,8 +138,7 @@ class SettingsW(QDialog): # ------------------------------------------------------------- # Set-up connections - # FIXME QT4 - #self.accepted.connect(self.slot_saveSettings) + self.accepted.connect(self.slot_saveSettings) self.ui.buttonBox.button(QDialogButtonBox.Reset).clicked.connect(self.slot_resetSettings) self.ui.b_main_def_folder_open.clicked.connect(self.slot_getAndSetProjectPath)