summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOrcan Ogetbil <oget.fedora@gmail.com>2010-11-25 01:09:48 +0000
committerOrcan Ogetbil <oget.fedora@gmail.com>2010-11-25 01:09:48 +0000
commit8d05535f533605d68931d1d0d8644377c1687920 (patch)
treef0d6648195102166d2039a35d11a714a00a0d24c
parent443dde76876b66cb2e68d4f3ea65148a908f3cc2 (diff)
started porting the widget to Qt4
-rw-r--r--muse2/muse/confmport.cpp185
-rw-r--r--muse2/muse/confmport.h16
-rw-r--r--muse2/muse/widgets/CMakeLists.txt2
-rw-r--r--muse2/muse/widgets/synthconfigbase.ui452
4 files changed, 328 insertions, 327 deletions
diff --git a/muse2/muse/confmport.cpp b/muse2/muse/confmport.cpp
index 4801e250..a2fc8298 100644
--- a/muse2/muse/confmport.cpp
+++ b/muse2/muse/confmport.cpp
@@ -64,8 +64,10 @@ enum { DEVCOL_NO = 0, DEVCOL_GUI, DEVCOL_REC, DEVCOL_PLAY, DEVCOL_INSTR, DEVCOL_
// mdevViewItemRenamed
//---------------------------------------------------------
-void MPConfig::mdevViewItemRenamed(Q3ListViewItem* item, int col, const QString& s)
+void MPConfig::mdevViewItemRenamed(QTableWidgetItem* item)
{
+ int col = item->column();
+ QString s = item->text();
//printf("MPConfig::mdevViewItemRenamed col:%d txt:%s\n", col, s.latin1());
if(item == 0)
return;
@@ -73,7 +75,7 @@ void MPConfig::mdevViewItemRenamed(Q3ListViewItem* item, int col, const QString&
{
case DEVCOL_NAME:
{
- QString id = item->text(DEVCOL_NO);
+ QString id = item->tableWidget()->item(item->row(), DEVCOL_NO)->text();
int no = atoi(id.latin1()) - 1;
if(no < 0 || no >= MIDI_PORTS)
return;
@@ -102,7 +104,7 @@ void MPConfig::mdevViewItemRenamed(Q3ListViewItem* item, int col, const QString&
}
break;
default:
- printf("MPConfig::mdevViewItemRenamed unknown column clicked col:%d txt:%s\n", col, s.latin1());
+ //printf("MPConfig::mdevViewItemRenamed unknown column clicked col:%d txt:%s\n", col, s.latin1());
break;
}
}
@@ -111,11 +113,11 @@ void MPConfig::mdevViewItemRenamed(Q3ListViewItem* item, int col, const QString&
// rbClicked
//---------------------------------------------------------
-void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)
+void MPConfig::rbClicked(QTableWidgetItem* item)
{
if (item == 0)
return;
- QString id = item->text(DEVCOL_NO);
+ QString id = item->tableWidget()->item(item->row(), DEVCOL_NO)->text();
int no = atoi(id.latin1()) - 1;
if (no < 0 || no >= MIDI_PORTS)
return;
@@ -125,13 +127,14 @@ void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)
MidiDevice* dev = port->device();
int rwFlags = dev ? dev->rwFlags() : 0;
int openFlags = dev ? dev->openFlags() : 0;
- Q3ListView* listView = item->listView();
+ QTableWidget* listView = item->tableWidget();
//printf("MPConfig::rbClicked cpt x:%d y:%d\n", cpt.x(), cpt.y());
//printf("MPConfig::rbClicked new cpt x:%d y:%d\n", cpt.x(), cpt.y());
//printf("MPConfig::rbClicked new mapped cpt x:%d y:%d\n", cpt.x(), cpt.y());
- QPoint ppt = listView->itemRect(item).bottomLeft();
+ QPoint ppt = listView->visualItemRect(item).bottomLeft();
//printf("MPConfig::rbClicked ppt x:%d y:%d\n", ppt.x(), ppt.y());
- ppt += QPoint(listView->header()->sectionPos(col), listView->header()->height());
+ int col = item->column();
+ ppt += QPoint(listView->horizontalHeader()->sectionPosition(col), listView->horizontalHeader()->height());
//printf("MPConfig::rbClicked new ppt x:%d y:%d\n", ppt.x(), ppt.y());
ppt = listView->mapToGlobal(ppt);
//printf("MPConfig::rbClicked new mapped ppt x:%d y:%d\n", ppt.x(), ppt.y());
@@ -144,7 +147,7 @@ void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)
if (port->hasGui())
{
port->instrument()->showGui(!port->guiVisible());
- item->setPixmap(DEVCOL_GUI, port->guiVisible() ? *dotIcon : *dothIcon);
+ item->setIcon(port->guiVisible() ? QIcon(*dotIcon) : QIcon(*dothIcon));
}
//break;
return;
@@ -156,7 +159,7 @@ void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)
openFlags ^= 0x2;
dev->setOpenFlags(openFlags);
midiSeq->msgSetMidiDevice(port, dev); // reopen device
- item->setPixmap(DEVCOL_REC, openFlags & 2 ? *dotIcon : *dothIcon);
+ item->setIcon(openFlags & 2 ? QIcon(*dotIcon) : QIcon(*dothIcon));
// p3.3.55
if(dev->deviceType() == MidiDevice::JACK_MIDI)
@@ -164,12 +167,12 @@ void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)
if(dev->openFlags() & 2)
{
//item->setPixmap(DEVCOL_INROUTES, *buttondownIcon);
- item->setText(DEVCOL_INROUTES, tr("in"));
- }
+ item->tableWidget()->item(item->row(), DEVCOL_INROUTES)->setText(tr("in"));
+ }
else
{
//item->setPixmap(DEVCOL_INROUTES, *buttondownIcon);
- item->setText(DEVCOL_INROUTES, "");
+ item->tableWidget()->item(item->row(), DEVCOL_INROUTES)->setText("");
}
}
@@ -183,7 +186,7 @@ void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)
openFlags ^= 0x1;
dev->setOpenFlags(openFlags);
midiSeq->msgSetMidiDevice(port, dev); // reopen device
- item->setPixmap(DEVCOL_PLAY, openFlags & 1 ? *dotIcon : *dothIcon);
+ item->setIcon(openFlags & 1 ? QIcon(*dotIcon) : QIcon(*dothIcon));
// p3.3.55
if(dev->deviceType() == MidiDevice::JACK_MIDI)
@@ -191,12 +194,12 @@ void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)
if(dev->openFlags() & 1)
{
//item->setPixmap(DEVCOL_OUTROUTES, *buttondownIcon);
- item->setText(DEVCOL_OUTROUTES, tr("out"));
+ item->tableWidget()->item(item->row(), DEVCOL_OUTROUTES)->setText(tr("out"));
}
else
{
//item->setPixmap(DEVCOL_OUTROUTES, *buttondownIcon);
- item->setText(DEVCOL_OUTROUTES, "");
+ item->tableWidget()->item(item->row(), DEVCOL_OUTROUTES)->setText("");
}
}
@@ -375,6 +378,7 @@ void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)
//printf("MPConfig::rbClicked DEVCOL_NAME\n");
// Did we click in the text area?
+ /* ORCAN FIXME-->
if((cpt.x() - ppt.x()) > buttondownIcon->width())
{
//printf("MPConfig::rbClicked starting item rename... enabled?:%d\n", item->renameEnabled(DEVCOL_NAME));
@@ -384,7 +388,7 @@ void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)
return;
}
- else
+ else <--END OF ORCAN FIXME*/
// We clicked the 'down' button.
{
QMenu* pup = new QMenu(this);
@@ -602,7 +606,7 @@ void MPConfig::rbClicked(Q3ListViewItem* item, const QPoint& cpt, int col)
//break;
return;
QString s = act->text();
- item->setText(DEVCOL_INSTR, s);
+ item->tableWidget()->item(item->row(), DEVCOL_INSTR)->setText(s);
for (iMidiInstrument i = midiInstruments.begin(); i
!= midiInstruments.end(); ++i) {
if ((*i)->iname() == s) {
@@ -691,16 +695,32 @@ QString MPWhatsThis::text(const QPoint& pos)
// Midi Port Config
//---------------------------------------------------------
-MPConfig::MPConfig(QWidget* parent, char* name)
- : SynthConfigBase(parent, name)
+MPConfig::MPConfig(QWidget* parent)
+ : QDialog(parent)
{
+ setupUi(this);
+ mdevView->setRowCount(MIDI_PORTS);
+ mdevView->setColumnCount(9);
+
_mptooltip = 0;
//popup = 0;
instrPopup = 0;
_showAliases = -1; // 0: Show first aliases, if available. Nah, stick with -1: none at first.
- mdevView->setSorting(-1);
- mdevView->setAllColumnsShowFocus(true);
+ //ORCAN-FIXMEmdevView->setSorting(-1);
+ //ORCAN-FIXMEmdevView->setAllColumnsShowFocus(true);
+ mdevView->setHorizontalHeaderLabels(QStringList()
+ << tr("Port")
+ << tr("GUI")
+ << tr("I")
+ << tr("O")
+ << tr("Instrument")
+ << tr("Device Name")
+ << tr("In routes")
+ << tr("Out routes")
+ << tr("State")
+ );
+ /* Orcan FIXME column widths
mdevView->addColumn(tr("Port"));
mdevView->addColumn(tr("GUI"));
mdevView->addColumn(tr("I"));
@@ -711,8 +731,10 @@ MPConfig::MPConfig(QWidget* parent, char* name)
mdevView->addColumn(tr("In routes"), 80);
mdevView->addColumn(tr("Out routes"), 80);
mdevView->addColumn(tr("State"));
+ */
mdevView->setFocusPolicy(Qt::NoFocus);
+ /* Orcan FIXME
mdevView->setColumnAlignment(DEVCOL_NO, Qt::AlignHCenter);
mdevView->setColumnAlignment(DEVCOL_GUI, Qt::AlignCenter);
mdevView->setColumnAlignment(DEVCOL_REC, Qt::AlignCenter);
@@ -720,24 +742,26 @@ MPConfig::MPConfig(QWidget* parent, char* name)
mdevView->header()->setResizeEnabled(false, DEVCOL_NO);
mdevView->header()->setResizeEnabled(false, DEVCOL_REC);
mdevView->header()->setResizeEnabled(false, DEVCOL_GUI);
- mdevView->setResizeMode(Q3ListView::LastColumn);
+ mdevView->setResizeMode(QTableWidget::LastColumn);
instanceList->setColumnAlignment(1, Qt::AlignHCenter);
new MPWhatsThis(mdevView, mdevView->header());
_mptooltip = new MPHeaderTip(mdevView->header());
-
- connect(mdevView, SIGNAL(pressed(Q3ListViewItem*,const QPoint&,int)),
- this, SLOT(rbClicked(Q3ListViewItem*,const QPoint&,int)));
- connect(mdevView, SIGNAL(itemRenamed(Q3ListViewItem*,int,const QString&)),
- this, SLOT(mdevViewItemRenamed(Q3ListViewItem*,int,const QString&)));
+ */
+ connect(mdevView, SIGNAL(itemPressed(QTableWidgetItem*)),
+ this, SLOT(rbClicked(QTableWidgetItem*)));
+ connect(mdevView, SIGNAL(itemChanged(QTableWidgetItem*)),
+ this, SLOT(mdevViewItemRenamed(QTableWidgetItem*)));
connect(song, SIGNAL(songChanged(int)), SLOT(songChanged(int)));
- connect(synthList, SIGNAL(selectionChanged()), SLOT(selectionChanged()));
- connect(instanceList, SIGNAL(selectionChanged()), SLOT(selectionChanged()));
+ connect(synthList, SIGNAL(itemSelectionChanged()), SLOT(selectionChanged()));
+ connect(instanceList, SIGNAL(itemSelectionChanged()), SLOT(selectionChanged()));
connect(addInstance, SIGNAL(clicked()), SLOT(addInstanceClicked()));
+ connect(synthList, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), SLOT(addInstanceClicked()));
connect(removeInstance, SIGNAL(clicked()), SLOT(removeInstanceClicked()));
+ connect(instanceList, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), SLOT(removeInstanceClicked()));
songChanged(0);
}
@@ -753,8 +777,8 @@ MPConfig::~MPConfig()
void MPConfig::selectionChanged()
{
- addInstance->setEnabled(synthList->selectedItem());
- removeInstance->setEnabled(instanceList->selectedItem());
+ addInstance->setEnabled(synthList->currentItem());
+ removeInstance->setEnabled(instanceList->currentItem());
}
//---------------------------------------------------------
@@ -769,62 +793,80 @@ void MPConfig::songChanged(int flags)
// Get currently selected index...
int no = -1;
- Q3ListViewItem* sitem = mdevView->selectedItem();
+ QTableWidgetItem* sitem = mdevView->currentItem();
if(sitem)
{
- QString id = sitem->text(DEVCOL_NO);
+ QString id = sitem->tableWidget()->item(sitem->row(), DEVCOL_NO)->text();
no = atoi(id.latin1()) - 1;
if(no < 0 || no >= MIDI_PORTS)
no = -1;
}
sitem = 0;
- mdevView->clear();
+ mdevView->clearContents();
for (int i = MIDI_PORTS-1; i >= 0; --i)
{
MidiPort* port = &midiPorts[i];
MidiDevice* dev = port->device();
QString s;
s.setNum(i+1);
- Q3ListViewItem* item = new Q3ListViewItem(mdevView);
- item->setText(DEVCOL_NO, s);
- item->setText(DEVCOL_STATE, port->state());
- if (port->instrument())
- item->setText(DEVCOL_INSTR, port->instrument()->iname() );
- else
- item->setText(DEVCOL_INSTR, tr("<unknown>"));
+ QTableWidgetItem* itemno = new QTableWidgetItem(s);
+ mdevView->setItem(i, DEVCOL_NO, itemno);
+ QTableWidgetItem* itemstate = new QTableWidgetItem(port->state());
+ mdevView->setItem(i, DEVCOL_STATE, itemstate);
+ QTableWidgetItem* iteminstr = new QTableWidgetItem(port->instrument() ?
+ port->instrument()->iname() :
+ tr("<unknown>"));
+ mdevView->setItem(i, DEVCOL_INSTR, iteminstr);
+ QTableWidgetItem* itemname = new QTableWidgetItem;
+ mdevView->setItem(i, DEVCOL_NAME, itemname);
+ QTableWidgetItem* itemgui = new QTableWidgetItem;
+ mdevView->setItem(i, DEVCOL_GUI, itemgui);
+ QTableWidgetItem* itemrec = new QTableWidgetItem;
+ mdevView->setItem(i, DEVCOL_REC, itemrec);
+ QTableWidgetItem* itemplay = new QTableWidgetItem;
+ mdevView->setItem(i, DEVCOL_PLAY, itemplay);
+ QTableWidgetItem* itemout = new QTableWidgetItem;
+ mdevView->setItem(i, DEVCOL_OUTROUTES, itemout);
+ QTableWidgetItem* itemin = new QTableWidgetItem;
+ mdevView->setItem(i, DEVCOL_INROUTES, itemin);
+
if (dev) {
- item->setText(DEVCOL_NAME, dev->name());
+ itemname->setText(dev->name());
+
// Is it a Jack midi device? Allow renaming.
//if(dynamic_cast<MidiJackDevice*>(dev))
- if(dev->deviceType() == MidiDevice::JACK_MIDI)
- item->setRenameEnabled(DEVCOL_NAME, true);
+ if (dev->deviceType() == MidiDevice::JACK_MIDI)
+ itemname->setFlags(Qt::ItemIsEditable);
if (dev->rwFlags() & 0x2)
- item->setPixmap(DEVCOL_REC, dev->openFlags() & 2 ? *dotIcon : *dothIcon);
+ itemrec->setIcon(dev->openFlags() & 2 ? QIcon(*dotIcon) : QIcon(*dothIcon));
else
- item->setPixmap(DEVCOL_REC, QPixmap());
+ itemrec->setIcon(QIcon(QPixmap()));
if (dev->rwFlags() & 0x1)
- item->setPixmap(DEVCOL_PLAY, dev->openFlags() & 1 ? *dotIcon : *dothIcon);
+ itemplay->setIcon( dev->openFlags() & 1 ?
+ QIcon(*dotIcon) :
+ QIcon(*dothIcon));
else
- item->setPixmap(DEVCOL_PLAY, QPixmap());
+ itemplay->setIcon(QIcon(QPixmap()));
}
else {
- item->setText(DEVCOL_NAME, tr("<none>"));
- item->setPixmap(DEVCOL_GUI, *dothIcon);
- item->setPixmap(DEVCOL_REC, QPixmap());
- item->setPixmap(DEVCOL_PLAY, QPixmap());
+ itemname->setText(tr("<none>"));
+ itemgui->setIcon(QIcon(*dothIcon));
+ itemrec->setIcon(QIcon(QPixmap()));
+ itemplay->setIcon(QIcon(QPixmap()));
}
if (port->hasGui()) {
- item->setPixmap(DEVCOL_GUI, port->guiVisible() ? *dotIcon : *dothIcon);
+ itemgui->setIcon(port->guiVisible() ? QIcon(*dotIcon) : QIcon(*dothIcon));
}
else {
- item->setPixmap(DEVCOL_GUI, QPixmap());
+ itemgui->setIcon(QIcon(QPixmap()));
}
if (!(dev && dev->isSynti()))
- item->setPixmap(DEVCOL_INSTR, *buttondownIcon);
- item->setPixmap(DEVCOL_NAME, *buttondownIcon);
-
+ iteminstr->setIcon(QIcon(*buttondownIcon));
+ itemname->setIcon(QIcon(*buttondownIcon));
+
+
//if(dev && dynamic_cast<MidiJackDevice*>(dev))
if(dev && dev->deviceType() == MidiDevice::JACK_MIDI)
{
@@ -835,27 +877,25 @@ void MPConfig::songChanged(int flags)
if(dev->rwFlags() & 1)
//if(dev->openFlags() & 1)
{
- item->setPixmap(DEVCOL_OUTROUTES, *buttondownIcon);
+ itemout->setIcon(QIcon(*buttondownIcon));
if(dev->openFlags() & 1)
- item->setText(DEVCOL_OUTROUTES, tr("out"));
+ itemout->setText(tr("out"));
}
if(dev->rwFlags() & 2)
//if(dev->openFlags() & 2)
{
- item->setPixmap(DEVCOL_INROUTES, *buttondownIcon);
+ itemin->setIcon(QIcon(*buttondownIcon));
if(dev->openFlags() & 2)
- item->setText(DEVCOL_INROUTES, tr("in"));
+ itemin->setText(tr("in"));
}
}
- mdevView->insertItem(item);
- if(i == no)
- sitem = item;
+ if(i == no) sitem = itemno;
}
if(sitem)
{
- mdevView->setSelected(sitem, true);
- mdevView->ensureItemVisible(sitem);
+ mdevView->setCurrentItem(sitem);
+ //ORCAN-ChECKmdevView->ensureItemVisible(sitem);
}
QString s;
@@ -865,7 +905,7 @@ void MPConfig::songChanged(int flags)
//s = (*i)->baseName();
//s = (*i)->name();
- Q3ListViewItem* item = new Q3ListViewItem(synthList);
+ QTreeWidgetItem* item = new QTreeWidgetItem(synthList);
//item->setText(0, s);
item->setText(0, QString((*i)->baseName()));
s.setNum((*i)->instances());
@@ -879,7 +919,7 @@ void MPConfig::songChanged(int flags)
instanceList->clear();
SynthIList* sl = song->syntis();
for (iSynthI si = sl->begin(); si != sl->end(); ++si) {
- Q3ListViewItem* iitem = new Q3ListViewItem(instanceList);
+ QTreeWidgetItem* iitem = new QTreeWidgetItem(instanceList);
iitem->setText(0, (*si)->name());
if ((*si)->midiPort() == -1)
s = tr("<none>");
@@ -887,6 +927,7 @@ void MPConfig::songChanged(int flags)
s.setNum((*si)->midiPort() + 1);
iitem->setText(1, s);
}
+ mdevView->resizeColumnsToContents();
selectionChanged();
}
@@ -896,7 +937,7 @@ void MPConfig::songChanged(int flags)
void MPConfig::addInstanceClicked()
{
- Q3ListViewItem* item = synthList->selectedItem();
+ QTreeWidgetItem* item = synthList->currentItem();
if (item == 0)
return;
//SynthI *si = song->createSynthI(item->text(2));
@@ -923,7 +964,7 @@ void MPConfig::addInstanceClicked()
void MPConfig::removeInstanceClicked()
{
- Q3ListViewItem* item = instanceList->selectedItem();
+ QTreeWidgetItem* item = instanceList->currentItem();
if (item == 0)
return;
SynthIList* sl = song->syntis();
@@ -946,7 +987,7 @@ void MPConfig::removeInstanceClicked()
void MusE::configMidiPorts()
{
if (!midiPortConfig)
- midiPortConfig = new MPConfig(0, (char*) "midiPortConfig");
+ midiPortConfig = new MPConfig(0);
if (midiPortConfig->isVisible()) {
midiPortConfig->raise();
midiPortConfig->setActiveWindow();
diff --git a/muse2/muse/confmport.h b/muse2/muse/confmport.h
index 5a78bb74..11bac60c 100644
--- a/muse2/muse/confmport.h
+++ b/muse2/muse/confmport.h
@@ -15,10 +15,10 @@
//Added by qt3to4:
//#include <Q3PopupMenu>
-#include "synthconfigbase.h"
+#include "ui_synthconfigbase.h"
-class Q3ListView;
-class Q3ListViewItem;
+class QTreeWidget;
+class QTableWidget;
class QPoint;
//class Q3PopupMenu;
class QMenu;
@@ -32,7 +32,7 @@ class Xml;
class MPHeaderTip { // : public QToolTip { ddskrjo
public:
- MPHeaderTip(QWidget * parent) {} // : QToolTip(parent) {} ddskrjo
+ MPHeaderTip(QWidget *) {} // : QToolTip(parent) {} ddskrjo
virtual ~MPHeaderTip() {}
protected:
void maybeTip(const QPoint &);
@@ -59,7 +59,7 @@ class MPWhatsThis : public Q3WhatsThis {
// Midi Port Config
//---------------------------------------------------------
-class MPConfig : public SynthConfigBase {
+class MPConfig : public QDialog, Ui::SynthConfigBase {
MPHeaderTip* _mptooltip;
//Q3PopupMenu* popup;
QMenu* instrPopup;
@@ -69,15 +69,15 @@ class MPConfig : public SynthConfigBase {
Q_OBJECT
private slots:
- void rbClicked(Q3ListViewItem*, const QPoint&,int);
- void mdevViewItemRenamed(Q3ListViewItem*, int, const QString&);
+ void rbClicked(QTableWidgetItem*);
+ void mdevViewItemRenamed(QTableWidgetItem*);
void songChanged(int);
void selectionChanged();
void addInstanceClicked();
void removeInstanceClicked();
public:
- MPConfig(QWidget* parent, char* name);
+ MPConfig(QWidget* parent=0);
~MPConfig();
};
diff --git a/muse2/muse/widgets/CMakeLists.txt b/muse2/muse/widgets/CMakeLists.txt
index 7daeb64b..401ef106 100644
--- a/muse2/muse/widgets/CMakeLists.txt
+++ b/muse2/muse/widgets/CMakeLists.txt
@@ -151,6 +151,7 @@ QT4_WRAP_UI (UIC
shortcutcapturedialogbase.ui
shortcutconfigbase.ui
songinfo.ui
+ synthconfigbase.ui
transformbase.ui
transposebase.ui
velocitybase.ui
@@ -160,7 +161,6 @@ QT4_WRAP_UI (UIC
#QT4_WRAP_UI (widget_ui_headers
QT4_WRAP_UI3 (widget_ui_headers
midisync.ui
- synthconfigbase.ui
gatetimebase.ui
)
diff --git a/muse2/muse/widgets/synthconfigbase.ui b/muse2/muse/widgets/synthconfigbase.ui
index 761c8fb8..00f0038c 100644
--- a/muse2/muse/widgets/synthconfigbase.ui
+++ b/muse2/muse/widgets/synthconfigbase.ui
@@ -1,247 +1,207 @@
-<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
-<class>SynthConfigBase</class>
-<widget class="QDialog">
- <property name="name">
- <cstring>SynthConfigBase</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>630</width>
- <height>492</height>
- </rect>
- </property>
- <property name="caption">
- <string>MusE: Synth Configuration</string>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>SynthConfigBase</class>
+ <widget class="QDialog" name="SynthConfigBase">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>630</width>
+ <height>492</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>MusE: Synth Configuration</string>
+ </property>
+ <layout class="QGridLayout">
+ <item row="1" column="1">
+ <widget class="QGroupBox" name="GroupBox3">
+ <property name="title">
+ <string>Instances</string>
+ </property>
+ <layout class="QGridLayout">
+ <item row="0" column="0">
+ <widget class="QTreeWidget" name="instanceList">
+ <property name="allColumnsShowFocus">
+ <bool>true</bool>
</property>
- <widget class="QGroupBox" row="1" column="1">
- <property name="name">
- <cstring>GroupBox3</cstring>
- </property>
- <property name="title">
- <string>Instances</string>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QListView" row="0" column="0">
- <column>
- <property name="text">
- <string>Name</string>
- </property>
- <property name="clickable">
- <bool>false</bool>
- </property>
- <property name="resizable">
- <bool>true</bool>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Midi Port</string>
- </property>
- <property name="clickable">
- <bool>false</bool>
- </property>
- <property name="resizable">
- <bool>false</bool>
- </property>
- </column>
- <property name="name">
- <cstring>instanceList</cstring>
- </property>
- <property name="allColumnsShowFocus">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QLayoutWidget" row="1" column="0">
- <property name="name">
- <cstring>layout2</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QPushButton">
- <property name="name">
- <cstring>removeInstance</cstring>
- </property>
- <property name="text">
- <string>Remove Instance</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>Spacer2</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>113</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- </grid>
- </widget>
- <widget class="QGroupBox" row="0" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>groupBox10</cstring>
- </property>
- <property name="title">
- <string>Midi connections</string>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QListView">
- <property name="name">
- <cstring>mdevView</cstring>
- </property>
- </widget>
- </vbox>
- </widget>
- <widget class="QGroupBox" row="1" column="0">
- <property name="name">
- <cstring>GroupBox2</cstring>
- </property>
- <property name="frameShape">
- <enum>GroupBoxPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>Sunken</enum>
- </property>
- <property name="title">
- <string>Soft Synthesizer</string>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLayoutWidget" row="1" column="0">
- <property name="name">
- <cstring>Layout1</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QPushButton">
- <property name="name">
- <cstring>addInstance</cstring>
- </property>
- <property name="text">
- <string>Add Instance</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>Spacer1</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- <widget class="QListView" row="0" column="0">
- <column>
- <property name="text">
- <string>File</string>
- </property>
- <property name="clickable">
- <bool>false</bool>
- </property>
- <property name="resizable">
- <bool>true</bool>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Inst</string>
- </property>
- <property name="clickable">
- <bool>false</bool>
- </property>
- <property name="resizable">
- <bool>false</bool>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Name</string>
- </property>
- <property name="clickable">
- <bool>false</bool>
- </property>
- <property name="resizable">
- <bool>true</bool>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Version</string>
- </property>
- <property name="clickable">
- <bool>true</bool>
- </property>
- <property name="resizable">
- <bool>true</bool>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Description</string>
- </property>
- <property name="clickable">
- <bool>true</bool>
- </property>
- <property name="resizable">
- <bool>true</bool>
- </property>
- </column>
- <property name="name">
- <cstring>synthList</cstring>
- </property>
- <property name="allColumnsShowFocus">
- <bool>true</bool>
- </property>
- <property name="toolTip" stdset="0">
- <string>list of available software synthesizers</string>
- </property>
- </widget>
- </grid>
- </widget>
- </grid>
-</widget>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
+ <column>
+ <property name="text">
+ <string>Name</string>
+ </property>
+ <property name="clickable">
+ <bool>false</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Midi Port</string>
+ </property>
+ <property name="clickable">
+ <bool>false</bool>
+ </property>
+ <property name="resizable">
+ <bool>false</bool>
+ </property>
+ </column>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="QPushButton" name="removeInstance">
+ <property name="text">
+ <string>Remove Instance</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="Spacer2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>113</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="0" column="0" colspan="2">
+ <widget class="QGroupBox" name="groupBox10">
+ <property name="title">
+ <string>Midi connections</string>
+ </property>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QTableWidget" name="mdevView"/>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QGroupBox" name="GroupBox2">
+ <property name="title">
+ <string>Soft Synthesizer</string>
+ </property>
+ <layout class="QGridLayout">
+ <item row="1" column="0">
+ <layout class="QHBoxLayout">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="addInstance">
+ <property name="text">
+ <string>Add Instance</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="Spacer1">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="0" column="0">
+ <widget class="QTreeWidget" name="synthList">
+ <property name="toolTip">
+ <string>list of available software synthesizers</string>
+ </property>
+ <property name="allColumnsShowFocus">
+ <bool>true</bool>
+ </property>
+ <column>
+ <property name="text">
+ <string>File</string>
+ </property>
+ <property name="clickable">
+ <bool>false</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Inst</string>
+ </property>
+ <property name="clickable">
+ <bool>false</bool>
+ </property>
+ <property name="resizable">
+ <bool>false</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Name</string>
+ </property>
+ <property name="clickable">
+ <bool>false</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Version</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Description</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
+ <resources/>
+ <connections/>
+</ui>