summaryrefslogtreecommitdiff
path: root/muse2/muse/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'muse2/muse/widgets')
-rw-r--r--muse2/muse/widgets/CMakeLists.txt6
-rw-r--r--muse2/muse/widgets/function_dialogs/crescendobase.ui15
-rw-r--r--muse2/muse/widgets/function_dialogs/deloverlapsbase.ui15
-rw-r--r--muse2/muse/widgets/function_dialogs/gatetimebase.ui15
-rw-r--r--muse2/muse/widgets/function_dialogs/legatobase.ui15
-rw-r--r--muse2/muse/widgets/function_dialogs/movebase.ui15
-rw-r--r--muse2/muse/widgets/function_dialogs/quantbase.ui24
-rw-r--r--muse2/muse/widgets/function_dialogs/removebase.ui21
-rw-r--r--muse2/muse/widgets/function_dialogs/setlenbase.ui15
-rw-r--r--muse2/muse/widgets/function_dialogs/transposebase.ui15
-rw-r--r--muse2/muse/widgets/function_dialogs/velocitybase.ui15
-rw-r--r--muse2/muse/widgets/genset.cpp129
-rw-r--r--muse2/muse/widgets/genset.h12
-rw-r--r--muse2/muse/widgets/gensetbase.ui93
-rw-r--r--muse2/muse/widgets/mdisettings.cpp44
-rw-r--r--muse2/muse/widgets/mdisettings.h34
-rw-r--r--muse2/muse/widgets/mdisettings_base.ui60
-rw-r--r--muse2/muse/widgets/midisyncimpl.cpp2
-rw-r--r--muse2/muse/widgets/midisyncimpl.h3
-rw-r--r--muse2/muse/widgets/pastedialog.cpp134
-rw-r--r--muse2/muse/widgets/pastedialog.h48
-rw-r--r--muse2/muse/widgets/pastedialogbase.ui291
22 files changed, 959 insertions, 62 deletions
diff --git a/muse2/muse/widgets/CMakeLists.txt b/muse2/muse/widgets/CMakeLists.txt
index 48299f4a..4e934ad0 100644
--- a/muse2/muse/widgets/CMakeLists.txt
+++ b/muse2/muse/widgets/CMakeLists.txt
@@ -45,6 +45,7 @@ QT4_WRAP_CPP (widget_mocs
doublelabel.h
filedialog.h
genset.h
+ mdisettings.h
header.h
hitscale.h
intlabel.h
@@ -61,6 +62,7 @@ QT4_WRAP_CPP (widget_mocs
mtrackinfo.h
nentry.h
noteinfo.h
+ pastedialog.h
pitchedit.h
pitchlabel.h
popupmenu.h
@@ -107,12 +109,14 @@ file (GLOB widgets_ui_files
editsysexdialogbase.ui
fdialogbuttons.ui
gensetbase.ui
+ mdisettings_base.ui
itransformbase.ui
metronomebase.ui
midisync.ui
mittransposebase.ui
mixdowndialogbase.ui
mtrackinfobase.ui
+ pastedialogbase.ui
projectcreate.ui
shortcutcapturedialogbase.ui
shortcutconfigbase.ui
@@ -142,6 +146,7 @@ file (GLOB widgets_source_files
drange.cpp
filedialog.cpp
genset.cpp
+ mdisettings.cpp
header.cpp
hitscale.cpp
intlabel.cpp
@@ -159,6 +164,7 @@ file (GLOB widgets_source_files
mtscale_flo.cpp
nentry.cpp
noteinfo.cpp
+ pastedialog.cpp
pitchedit.cpp
pitchlabel.cpp
popupmenu.cpp
diff --git a/muse2/muse/widgets/function_dialogs/crescendobase.ui b/muse2/muse/widgets/function_dialogs/crescendobase.ui
index 5f4ec1f4..e98b7bc3 100644
--- a/muse2/muse/widgets/function_dialogs/crescendobase.ui
+++ b/muse2/muse/widgets/function_dialogs/crescendobase.ui
@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>275</width>
- <height>293</height>
+ <height>299</height>
</rect>
</property>
<property name="windowTitle">
@@ -140,6 +140,19 @@
</widget>
</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>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>6</number>
diff --git a/muse2/muse/widgets/function_dialogs/deloverlapsbase.ui b/muse2/muse/widgets/function_dialogs/deloverlapsbase.ui
index 7484bf97..7f94f83b 100644
--- a/muse2/muse/widgets/function_dialogs/deloverlapsbase.ui
+++ b/muse2/muse/widgets/function_dialogs/deloverlapsbase.ui
@@ -10,7 +10,7 @@
<x>0</x>
<y>0</y>
<width>275</width>
- <height>195</height>
+ <height>201</height>
</rect>
</property>
<property name="windowTitle">
@@ -70,6 +70,19 @@
</widget>
</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>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>6</number>
diff --git a/muse2/muse/widgets/function_dialogs/gatetimebase.ui b/muse2/muse/widgets/function_dialogs/gatetimebase.ui
index e804de17..3f7ede4b 100644
--- a/muse2/muse/widgets/function_dialogs/gatetimebase.ui
+++ b/muse2/muse/widgets/function_dialogs/gatetimebase.ui
@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>275</width>
- <height>316</height>
+ <height>320</height>
</rect>
</property>
<property name="windowTitle">
@@ -135,6 +135,19 @@
</widget>
</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>
<layout class="QHBoxLayout">
<property name="spacing">
<number>6</number>
diff --git a/muse2/muse/widgets/function_dialogs/legatobase.ui b/muse2/muse/widgets/function_dialogs/legatobase.ui
index 7bc406df..2593f3f5 100644
--- a/muse2/muse/widgets/function_dialogs/legatobase.ui
+++ b/muse2/muse/widgets/function_dialogs/legatobase.ui
@@ -10,7 +10,7 @@
<x>0</x>
<y>0</y>
<width>275</width>
- <height>289</height>
+ <height>295</height>
</rect>
</property>
<property name="windowTitle">
@@ -150,6 +150,19 @@
</widget>
</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>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>6</number>
diff --git a/muse2/muse/widgets/function_dialogs/movebase.ui b/muse2/muse/widgets/function_dialogs/movebase.ui
index a8825dd5..17a3aff6 100644
--- a/muse2/muse/widgets/function_dialogs/movebase.ui
+++ b/muse2/muse/widgets/function_dialogs/movebase.ui
@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>275</width>
- <height>264</height>
+ <height>270</height>
</rect>
</property>
<property name="windowTitle">
@@ -120,6 +120,19 @@
</widget>
</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>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>6</number>
diff --git a/muse2/muse/widgets/function_dialogs/quantbase.ui b/muse2/muse/widgets/function_dialogs/quantbase.ui
index 6a88c86f..973be7b8 100644
--- a/muse2/muse/widgets/function_dialogs/quantbase.ui
+++ b/muse2/muse/widgets/function_dialogs/quantbase.ui
@@ -10,7 +10,7 @@
<x>0</x>
<y>0</y>
<width>279</width>
- <height>486</height>
+ <height>475</height>
</rect>
</property>
<property name="windowTitle">
@@ -210,11 +210,18 @@
</item>
<item row="5" column="0" colspan="2">
<widget class="QLabel" name="label_4">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
<property name="text">
<string>If the proposed change in tick or length is smaller than threshold, nothing is done.
If swing=0, this is normal
If swing is 33, you get a 2:1-rhythm.
-If swing is -33, you get a 1:2-rhythm.</string>
+If swing is -33, you get a 1:2-rhythm.
+</string>
</property>
<property name="wordWrap">
<bool>true</bool>
@@ -225,6 +232,19 @@ If swing is -33, you get a 1:2-rhythm.</string>
</widget>
</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>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>6</number>
diff --git a/muse2/muse/widgets/function_dialogs/removebase.ui b/muse2/muse/widgets/function_dialogs/removebase.ui
index 79d541cc..a01f0c8b 100644
--- a/muse2/muse/widgets/function_dialogs/removebase.ui
+++ b/muse2/muse/widgets/function_dialogs/removebase.ui
@@ -10,7 +10,7 @@
<x>0</x>
<y>0</y>
<width>275</width>
- <height>443</height>
+ <height>424</height>
</rect>
</property>
<property name="windowTitle">
@@ -144,6 +144,12 @@
</item>
<item row="2" column="0" colspan="2">
<widget class="QLabel" name="label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
@@ -165,6 +171,19 @@ p, li { white-space: pre-wrap; }
</widget>
</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>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>6</number>
diff --git a/muse2/muse/widgets/function_dialogs/setlenbase.ui b/muse2/muse/widgets/function_dialogs/setlenbase.ui
index 7d929716..39a87789 100644
--- a/muse2/muse/widgets/function_dialogs/setlenbase.ui
+++ b/muse2/muse/widgets/function_dialogs/setlenbase.ui
@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>275</width>
- <height>264</height>
+ <height>270</height>
</rect>
</property>
<property name="windowTitle">
@@ -114,6 +114,19 @@
</widget>
</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>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>6</number>
diff --git a/muse2/muse/widgets/function_dialogs/transposebase.ui b/muse2/muse/widgets/function_dialogs/transposebase.ui
index c26f2ef9..e1447690 100644
--- a/muse2/muse/widgets/function_dialogs/transposebase.ui
+++ b/muse2/muse/widgets/function_dialogs/transposebase.ui
@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>275</width>
- <height>264</height>
+ <height>270</height>
</rect>
</property>
<property name="windowTitle">
@@ -120,6 +120,19 @@
</widget>
</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>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>6</number>
diff --git a/muse2/muse/widgets/function_dialogs/velocitybase.ui b/muse2/muse/widgets/function_dialogs/velocitybase.ui
index 40fe625f..70e838f5 100644
--- a/muse2/muse/widgets/function_dialogs/velocitybase.ui
+++ b/muse2/muse/widgets/function_dialogs/velocitybase.ui
@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>275</width>
- <height>316</height>
+ <height>320</height>
</rect>
</property>
<property name="windowTitle">
@@ -138,6 +138,19 @@
</widget>
</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>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>6</number>
diff --git a/muse2/muse/widgets/genset.cpp b/muse2/muse/widgets/genset.cpp
index b8a93089..c6761a07 100644
--- a/muse2/muse/widgets/genset.cpp
+++ b/muse2/muse/widgets/genset.cpp
@@ -129,10 +129,10 @@ Shorter periods are desirable.</string>
showMixer->setChecked(MusEConfig::config.mixer1Visible);
showMixer2->setChecked(MusEConfig::config.mixer2Visible);
- arrangerX->setValue(MusEConfig::config.geometryMain.x());
- arrangerY->setValue(MusEConfig::config.geometryMain.y());
- arrangerW->setValue(MusEConfig::config.geometryMain.width());
- arrangerH->setValue(MusEConfig::config.geometryMain.height());
+ mainX->setValue(MusEConfig::config.geometryMain.x());
+ mainY->setValue(MusEConfig::config.geometryMain.y());
+ mainW->setValue(MusEConfig::config.geometryMain.width());
+ mainH->setValue(MusEConfig::config.geometryMain.height());
transportX->setValue(MusEConfig::config.geometryTransport.x());
transportY->setValue(MusEConfig::config.geometryTransport.y());
@@ -178,10 +178,33 @@ Shorter periods are desirable.</string>
connect(setMixerCurrent, SIGNAL(clicked()), SLOT(mixerCurrent()));
connect(setMixer2Current, SIGNAL(clicked()), SLOT(mixer2Current()));
connect(setBigtimeCurrent, SIGNAL(clicked()), SLOT(bigtimeCurrent()));
- connect(setArrangerCurrent, SIGNAL(clicked()), SLOT(arrangerCurrent()));
+ connect(setMainCurrent, SIGNAL(clicked()), SLOT(mainCurrent()));
connect(setTransportCurrent, SIGNAL(clicked()), SLOT(transportCurrent()));
+
+ connect(buttonTraditionalPreset, SIGNAL(clicked()), SLOT(traditionalPreset()));
+ connect(buttonMDIPreset, SIGNAL(clicked()), SLOT(mdiPreset()));
+ connect(buttonBorlandPreset, SIGNAL(clicked()), SLOT(borlandPreset()));
+
+ addMdiSettings(TopWin::ARRANGER);
+ addMdiSettings(TopWin::SCORE);
+ addMdiSettings(TopWin::PIANO_ROLL);
+ addMdiSettings(TopWin::DRUM);
+ addMdiSettings(TopWin::LISTE);
+ addMdiSettings(TopWin::WAVE);
+ addMdiSettings(TopWin::MASTER);
+ addMdiSettings(TopWin::LMASTER);
+ addMdiSettings(TopWin::CLIPLIST);
+ addMdiSettings(TopWin::MARKER);
+
}
+void GlobalSettingsConfig::addMdiSettings(TopWin::ToplevelType t)
+{
+ MdiSettings* temp = new MdiSettings(t, this);
+ layoutMdiSettings->addWidget(temp);
+ mdisettings.push_back(temp);
+}
+
//---------------------------------------------------------
// updateSettings
//---------------------------------------------------------
@@ -242,10 +265,10 @@ void GlobalSettingsConfig::updateSettings()
showMixer->setChecked(MusEConfig::config.mixer1Visible);
showMixer2->setChecked(MusEConfig::config.mixer2Visible);
- arrangerX->setValue(MusEConfig::config.geometryMain.x());
- arrangerY->setValue(MusEConfig::config.geometryMain.y());
- arrangerW->setValue(MusEConfig::config.geometryMain.width());
- arrangerH->setValue(MusEConfig::config.geometryMain.height());
+ mainX->setValue(MusEConfig::config.geometryMain.x());
+ mainY->setValue(MusEConfig::config.geometryMain.y());
+ mainW->setValue(MusEConfig::config.geometryMain.width());
+ mainH->setValue(MusEConfig::config.geometryMain.height());
transportX->setValue(MusEConfig::config.geometryTransport.x());
transportY->setValue(MusEConfig::config.geometryTransport.y());
@@ -282,6 +305,20 @@ void GlobalSettingsConfig::updateSettings()
moveArmedCheckBox->setChecked(MusEConfig::config.moveArmedCheckBox);
projectSaveCheckBox->setChecked(MusEConfig::config.useProjectSaveDialog);
popsDefStayOpenCheckBox->setChecked(MusEConfig::config.popupsDefaultStayOpen);
+
+ updateMdiSettings();
+}
+
+void GlobalSettingsConfig::updateMdiSettings()
+{
+ for (std::list<MdiSettings*>::iterator it = mdisettings.begin(); it!=mdisettings.end(); it++)
+ (*it)->update_settings();
+}
+
+void GlobalSettingsConfig::applyMdiSettings()
+{
+ for (std::list<MdiSettings*>::iterator it = mdisettings.begin(); it!=mdisettings.end(); it++)
+ (*it)->apply_settings();
}
//---------------------------------------------------------
@@ -329,10 +366,10 @@ void GlobalSettingsConfig::apply()
MusEConfig::config.mixer1Visible = showMixer->isChecked();
MusEConfig::config.mixer2Visible = showMixer2->isChecked();
- MusEConfig::config.geometryMain.setX(arrangerX->value());
- MusEConfig::config.geometryMain.setY(arrangerY->value());
- MusEConfig::config.geometryMain.setWidth(arrangerW->value());
- MusEConfig::config.geometryMain.setHeight(arrangerH->value());
+ MusEConfig::config.geometryMain.setX(mainX->value());
+ MusEConfig::config.geometryMain.setY(mainY->value());
+ MusEConfig::config.geometryMain.setWidth(mainW->value());
+ MusEConfig::config.geometryMain.setHeight(mainH->value());
MusEConfig::config.geometryTransport.setX(transportX->value());
MusEConfig::config.geometryTransport.setY(transportY->value());
@@ -403,6 +440,9 @@ void GlobalSettingsConfig::apply()
MusEGlobal::muse->setHeartBeat(); // set guiRefresh
midiSeq->msgSetRtc(); // set midi tick rate
+
+ applyMdiSettings();
+
MusEGlobal::muse->changeConfig(true); // save settings
}
@@ -437,8 +477,8 @@ void GlobalSettingsConfig::mixerCurrent()
QRect r(w->frameGeometry());
mixerX->setValue(r.x());
mixerY->setValue(r.y());
- mixerW->setValue(r.width());
- mixerH->setValue(r.height());
+ mixerW->setValue(w->width());
+ mixerH->setValue(w->height());
}
//---------------------------------------------------------
@@ -453,8 +493,8 @@ void GlobalSettingsConfig::mixer2Current()
QRect r(w->frameGeometry());
mixer2X->setValue(r.x());
mixer2Y->setValue(r.y());
- mixer2W->setValue(r.width());
- mixer2H->setValue(r.height());
+ mixer2W->setValue(w->width());
+ mixer2H->setValue(w->height());
}
//---------------------------------------------------------
@@ -469,21 +509,21 @@ void GlobalSettingsConfig::bigtimeCurrent()
QRect r(w->frameGeometry());
bigtimeX->setValue(r.x());
bigtimeY->setValue(r.y());
- bigtimeW->setValue(r.width());
- bigtimeH->setValue(r.height());
+ bigtimeW->setValue(w->width());
+ bigtimeH->setValue(w->height());
}
//---------------------------------------------------------
-// arrangerCurrent
+// mainCurrent
//---------------------------------------------------------
-void GlobalSettingsConfig::arrangerCurrent()
+void GlobalSettingsConfig::mainCurrent()
{
QRect r(MusEGlobal::muse->frameGeometry());
- arrangerX->setValue(r.x());
- arrangerY->setValue(r.y());
- arrangerW->setValue(r.width());
- arrangerH->setValue(r.height());
+ mainX->setValue(r.x());
+ mainY->setValue(r.y());
+ mainW->setValue(MusEGlobal::muse->width()); //this is intendedly not the frameGeometry, but
+ mainH->setValue(MusEGlobal::muse->height()); //the "non-frame-geom." to avoid a sizing bug
}
//---------------------------------------------------------
@@ -514,4 +554,43 @@ void GlobalSettingsConfig::defaultInstrumentsPath()
userInstrumentsPath->setText(dir);
}
+
+void GlobalSettingsConfig::traditionalPreset()
+{
+ for (std::list<MdiSettings*>::iterator it = mdisettings.begin(); it!=mdisettings.end(); it++)
+ {
+ TopWin::ToplevelType type = (*it)->type();
+ TopWin::_sharesWhenFree[type]=false;
+ TopWin::_defaultSubwin[type]=false;
+ }
+ TopWin::_defaultSubwin[TopWin::ARRANGER]=true;
+
+ updateMdiSettings();
+}
+
+void GlobalSettingsConfig::mdiPreset()
+{
+ for (std::list<MdiSettings*>::iterator it = mdisettings.begin(); it!=mdisettings.end(); it++)
+ {
+ TopWin::ToplevelType type = (*it)->type();
+ TopWin::_sharesWhenSubwin[type]=true;
+ TopWin::_defaultSubwin[type]=true;
+ }
+
+ updateMdiSettings();
+}
+
+void GlobalSettingsConfig::borlandPreset()
+{
+ for (std::list<MdiSettings*>::iterator it = mdisettings.begin(); it!=mdisettings.end(); it++)
+ {
+ TopWin::ToplevelType type = (*it)->type();
+ TopWin::_sharesWhenFree[type]=true;
+ TopWin::_defaultSubwin[type]=false;
+ }
+
+ updateMdiSettings();
+}
+
} // namespace MusEWidget
+
diff --git a/muse2/muse/widgets/genset.h b/muse2/muse/widgets/genset.h
index 3a2c6354..6068c429 100644
--- a/muse2/muse/widgets/genset.h
+++ b/muse2/muse/widgets/genset.h
@@ -25,8 +25,11 @@
#define __GENSET_H__
#include "ui_gensetbase.h"
+#include "cobject.h"
+#include "mdisettings.h"
#include <QShowEvent>
+#include <list>
namespace MusEWidget {
@@ -39,20 +42,27 @@ class GlobalSettingsConfig : public QDialog, public Ui::GlobalSettingsDialogBase
private slots:
void updateSettings();
+ void updateMdiSettings();
+ void addMdiSettings(TopWin::ToplevelType t);
+ void applyMdiSettings();
void apply();
void ok();
void cancel();
void mixerCurrent();
void mixer2Current();
void bigtimeCurrent();
- void arrangerCurrent();
+ void mainCurrent();
void transportCurrent();
void selectInstrumentsPath();
void defaultInstrumentsPath();
+ void traditionalPreset();
+ void mdiPreset();
+ void borlandPreset();
protected:
void showEvent(QShowEvent*);
QButtonGroup *startSongGroup;
+ std::list<MdiSettings*> mdisettings;
public:
GlobalSettingsConfig(QWidget* parent=0);
diff --git a/muse2/muse/widgets/gensetbase.ui b/muse2/muse/widgets/gensetbase.ui
index 68f3ebb5..b5fb56b6 100644
--- a/muse2/muse/widgets/gensetbase.ui
+++ b/muse2/muse/widgets/gensetbase.ui
@@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>526</width>
+ <width>556</width>
<height>506</height>
</rect>
</property>
@@ -70,7 +70,7 @@
</widget>
</item>
<item row="0" column="5">
- <widget class="QSpinBox" name="arrangerH">
+ <widget class="QSpinBox" name="mainH">
<property name="toolTip">
<string>height</string>
</property>
@@ -80,7 +80,7 @@
</widget>
</item>
<item row="0" column="4">
- <widget class="QSpinBox" name="arrangerW">
+ <widget class="QSpinBox" name="mainW">
<property name="toolTip">
<string>width</string>
</property>
@@ -90,7 +90,7 @@
</widget>
</item>
<item row="0" column="3">
- <widget class="QSpinBox" name="arrangerY">
+ <widget class="QSpinBox" name="mainY">
<property name="toolTip">
<string>y-pos</string>
</property>
@@ -100,7 +100,7 @@
</widget>
</item>
<item row="0" column="2">
- <widget class="QSpinBox" name="arrangerX">
+ <widget class="QSpinBox" name="mainX">
<property name="toolTip">
<string>x-pos</string>
</property>
@@ -227,7 +227,7 @@
</sizepolicy>
</property>
<property name="text">
- <string>Arranger</string>
+ <string>Main Window</string>
</property>
<property name="wordWrap">
<bool>false</bool>
@@ -379,7 +379,7 @@
</widget>
</item>
<item row="0" column="6">
- <widget class="QPushButton" name="setArrangerCurrent">
+ <widget class="QPushButton" name="setMainCurrent">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
@@ -1333,19 +1333,6 @@ Adjusts responsiveness of audio controls and
</property>
</widget>
</item>
- <item row="5" column="0">
- <spacer name="verticalSpacer_2">
- <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 row="4" column="0">
<widget class="QLabel" name="TextLabel1_3">
<property name="toolTip">
@@ -1370,6 +1357,72 @@ Otherwise, hold Ctrl to keep them open.</string>
</layout>
</widget>
</item>
+ <item>
+ <widget class="QGroupBox" name="groupBox_2">
+ <property name="title">
+ <string>MDI-subwindowness and sharing menus</string>
+ </property>
+ <property name="checkable">
+ <bool>false</bool>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_9">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Presets:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="buttonTraditionalPreset">
+ <property name="text">
+ <string>traditional MusE SDI</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="buttonMDIPreset">
+ <property name="text">
+ <string>Cakewalk-like MDI</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="buttonBorlandPreset">
+ <property name="text">
+ <string>Borland-/Mac-like MDI</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QScrollArea" name="scrollArea">
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents_2">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>482</width>
+ <height>168</height>
+ </rect>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <item>
+ <layout class="QVBoxLayout" name="layoutMdiSettings"/>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
</layout>
</widget>
</widget>
diff --git a/muse2/muse/widgets/mdisettings.cpp b/muse2/muse/widgets/mdisettings.cpp
new file mode 100644
index 00000000..127aa5c1
--- /dev/null
+++ b/muse2/muse/widgets/mdisettings.cpp
@@ -0,0 +1,44 @@
+//=========================================================
+// MusE
+// Linux Music Editor
+// $Id: genset.cpp,v 1.7.2.8 2009/12/01 03:52:40 terminator356 Exp $
+//
+// (C) Copyright 2001-2004 Werner Schweer (ws@seh.de)
+//=========================================================
+
+#include <stdio.h>
+
+#include <QFileDialog>
+#include <QRect>
+#include <QShowEvent>
+
+#include "mdisettings.h"
+#include "app.h"
+#include "gconfig.h"
+#include "midiseq.h"
+#include "globals.h"
+#include "icons.h"
+
+MdiSettings::MdiSettings(TopWin::ToplevelType t, QWidget* parent) : QWidget(parent)
+{
+ _type=t;
+ setupUi(this);
+
+ groupBox->setTitle(TopWin::typeName(t));
+ update_settings();
+}
+
+
+void MdiSettings::update_settings()
+{
+ isSubwinCheckbox->setChecked(TopWin::_defaultSubwin[_type]);
+ shareSubwinCheckbox->setChecked(TopWin::_sharesWhenSubwin[_type]);
+ shareFreeCheckbox->setChecked(TopWin::_sharesWhenFree[_type]);
+}
+
+void MdiSettings::apply_settings()
+{
+ TopWin::_defaultSubwin[_type] = isSubwinCheckbox->isChecked();
+ TopWin::_sharesWhenSubwin[_type] = shareSubwinCheckbox->isChecked();
+ TopWin::_sharesWhenFree[_type] = shareFreeCheckbox->isChecked();
+}
diff --git a/muse2/muse/widgets/mdisettings.h b/muse2/muse/widgets/mdisettings.h
new file mode 100644
index 00000000..2f1bdf55
--- /dev/null
+++ b/muse2/muse/widgets/mdisettings.h
@@ -0,0 +1,34 @@
+//=========================================================
+// MusE
+// Linux Music Editor
+// $Id: genset.h,v 1.3 2004/01/25 09:55:17 wschweer Exp $
+//
+// (C) Copyright 2001 Werner Schweer (ws@seh.de)
+//=========================================================
+
+#ifndef __MDISETTINGS_H__
+#define __MDISETTINGS_H__
+
+#include <QWidget>
+#include "ui_mdisettings_base.h"
+#include "cobject.h"
+
+//---------------------------------------------------------
+// GlobalSettingsConfig
+//---------------------------------------------------------
+
+class MdiSettings : public QWidget, private Ui::MdiSettingsBase
+{
+ Q_OBJECT
+
+ private:
+ TopWin::ToplevelType _type;
+
+ public:
+ MdiSettings(TopWin::ToplevelType t, QWidget* parent=0);
+ void update_settings();
+ void apply_settings();
+ TopWin::ToplevelType type() { return _type; }
+};
+
+#endif
diff --git a/muse2/muse/widgets/mdisettings_base.ui b/muse2/muse/widgets/mdisettings_base.ui
new file mode 100644
index 00000000..af32f174
--- /dev/null
+++ b/muse2/muse/widgets/mdisettings_base.ui
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MdiSettingsBase</class>
+ <widget class="QWidget" name="MdiSettingsBase">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>338</width>
+ <height>100</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QGroupBox" name="groupBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>GroupBox</string>
+ </property>
+ <property name="flat">
+ <bool>true</bool>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="2" column="0">
+ <widget class="QCheckBox" name="isSubwinCheckbox">
+ <property name="text">
+ <string>MDI subwin</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QCheckBox" name="shareSubwinCheckbox">
+ <property name="text">
+ <string>Shares menu when subwin</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QCheckBox" name="shareFreeCheckbox">
+ <property name="text">
+ <string>Shares menu when free</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/muse2/muse/widgets/midisyncimpl.cpp b/muse2/muse/widgets/midisyncimpl.cpp
index 89075af9..3829ca43 100644
--- a/muse2/muse/widgets/midisyncimpl.cpp
+++ b/muse2/muse/widgets/midisyncimpl.cpp
@@ -690,8 +690,6 @@ void MidiSyncConfig::closeEvent(QCloseEvent* e)
apply();
}
- //emit deleted((unsigned long)this);
-
disconnect(MusEGlobal::heartBeatTimer, SIGNAL(timeout()), this, SLOT(heartBeat()));
disconnect(song, SIGNAL(songChanged(int)), this, SLOT(songChanged(int)));
diff --git a/muse2/muse/widgets/midisyncimpl.h b/muse2/muse/widgets/midisyncimpl.h
index ddccf7c9..50df186e 100644
--- a/muse2/muse/widgets/midisyncimpl.h
+++ b/muse2/muse/widgets/midisyncimpl.h
@@ -121,9 +121,6 @@ class MidiSyncConfig : public QDialog, public Ui::MidiSyncConfigBase {
//void renameOk(QListViewItem*, int, const QString&);
void songChanged(int);
- //signals:
- // void deleted(unsigned long);
-
public:
MidiSyncConfig(QWidget* parent=0);
//MidiSyncConfig();
diff --git a/muse2/muse/widgets/pastedialog.cpp b/muse2/muse/widgets/pastedialog.cpp
new file mode 100644
index 00000000..0a6ce463
--- /dev/null
+++ b/muse2/muse/widgets/pastedialog.cpp
@@ -0,0 +1,134 @@
+//=========================================================
+// MusE
+// Linux Music Editor
+// $Id: pastedialog.cpp,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
+// (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
+//=========================================================
+
+#include <QButtonGroup>
+#include "pastedialog.h"
+#include "xml.h"
+#include "gconfig.h"
+
+using MusEConfig::config;
+
+PasteDialog::PasteDialog(QWidget* parent)
+ : QDialog(parent)
+{
+ setupUi(this);
+ button_group = new QButtonGroup;
+ button_group->addButton(merge_button,0);
+ button_group->addButton(move_all_button,1);
+ button_group->addButton(move_some_button,2);
+
+ raster_spinbox->setSingleStep(config.division);
+
+ connect(raster_spinbox, SIGNAL(valueChanged(int)), this, SLOT(raster_changed(int)));
+ connect(n_spinbox, SIGNAL(valueChanged(int)), this, SLOT(number_changed(int)));
+
+ pull_values();
+}
+
+void PasteDialog::pull_values()
+{
+ insert_method = button_group->checkedId();
+ number = n_spinbox->value();
+ raster = raster_spinbox->value();
+ all_in_one_track = all_in_one_track_checkbox->isChecked();
+ clone = clone_checkbox->isChecked();
+}
+
+void PasteDialog::accept()
+{
+ pull_values();
+ QDialog::accept();
+}
+
+int PasteDialog::exec()
+{
+ if ((insert_method < 0) || (insert_method > 2)) insert_method=0;
+
+ button_group->button(insert_method)->setChecked(true);
+ n_spinbox->setValue(number);
+ raster_spinbox->setValue(raster);
+ all_in_one_track_checkbox->setChecked(all_in_one_track);
+ clone_checkbox->setChecked(clone);
+
+ return QDialog::exec();
+}
+
+QString PasteDialog::ticks_to_quarter_string(int ticks)
+{
+ if (ticks % config.division == 0)
+ {
+ return tr("%n quarter(s)", "", ticks/config.division);
+ }
+ else
+ {
+ double quarters = (double) ticks/config.division;
+ bool one = ( quarters > 0.995 && quarters < 1.005 );
+ if (one)
+ return QString::number(quarters, 'f', 2) + " " + tr("quarter");
+ else
+ return QString::number(quarters, 'f', 2) + " " + tr("quarters");
+ }
+}
+
+void PasteDialog::raster_changed(int r)
+{
+ raster_quarters->setText(ticks_to_quarter_string(r));
+ insert_quarters->setText(ticks_to_quarter_string(r*n_spinbox->value()));
+}
+
+void PasteDialog::number_changed(int n)
+{
+ insert_quarters->setText(ticks_to_quarter_string(n*raster_spinbox->value()));
+}
+
+
+void PasteDialog::read_configuration(Xml& xml)
+{
+ for (;;)
+ {
+ Xml::Token token = xml.parse();
+ if (token == Xml::Error || token == Xml::End)
+ break;
+
+ const QString& tag = xml.s1();
+ switch (token)
+ {
+ case Xml::TagStart:
+ if (tag == "insert_method")
+ insert_method=xml.parseInt();
+ else if (tag == "number")
+ number=xml.parseInt();
+ else if (tag == "raster")
+ raster=xml.parseInt();
+ else if (tag == "clone")
+ clone=xml.parseInt();
+ else if (tag == "all_in_one_track")
+ all_in_one_track=xml.parseInt();
+ else
+ xml.unknown("PasteDialog");
+ break;
+
+ case Xml::TagEnd:
+ if (tag == "pastedialog")
+ return;
+
+ default:
+ break;
+ }
+ }
+}
+
+void PasteDialog::write_configuration(int level, Xml& xml)
+{
+ xml.tag(level++, "pastedialog");
+ xml.intTag(level, "insert_method", insert_method);
+ xml.intTag(level, "number", number);
+ xml.intTag(level, "raster", raster);
+ xml.intTag(level, "clone", clone);
+ xml.intTag(level, "all_in_one_track", all_in_one_track);
+ xml.tag(level, "/pastedialog");
+}
diff --git a/muse2/muse/widgets/pastedialog.h b/muse2/muse/widgets/pastedialog.h
new file mode 100644
index 00000000..866fda4c
--- /dev/null
+++ b/muse2/muse/widgets/pastedialog.h
@@ -0,0 +1,48 @@
+//=========================================================
+// MusE
+// Linux Music Editor
+// $Id: pastedialog.h,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
+// (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
+//=========================================================
+
+#ifndef __PASTEDIALOG_H__
+#define __PASTEDIALOG_H__
+
+#include "ui_pastedialogbase.h"
+#include <QString>
+
+class Xml;
+
+class PasteDialog : public QDialog, public Ui::PasteDialogBase
+{
+ Q_OBJECT
+ protected:
+ QButtonGroup* button_group;
+ QString ticks_to_quarter_string(int ticks);
+
+ protected slots:
+ void accept();
+ void pull_values();
+
+ void raster_changed(int);
+ void number_changed(int);
+
+ public:
+ PasteDialog(QWidget* parent = 0);
+
+ int insert_method;
+ int number;
+ int raster;
+ bool all_in_one_track;
+ bool clone;
+
+ void read_configuration(Xml& xml);
+ void write_configuration(int level, Xml& xml);
+
+
+ public slots:
+ int exec();
+};
+
+#endif
+
diff --git a/muse2/muse/widgets/pastedialogbase.ui b/muse2/muse/widgets/pastedialogbase.ui
new file mode 100644
index 00000000..a9c7bced
--- /dev/null
+++ b/muse2/muse/widgets/pastedialogbase.ui
@@ -0,0 +1,291 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>PasteDialogBase</class>
+ <widget class="QDialog" name="PasteDialogBase">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>307</width>
+ <height>349</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>MusE: Paste Parts</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <item>
+ <widget class="QGroupBox" name="rangeBox">
+ <property name="title">
+ <string>Number and raster</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>insert</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QSpinBox" name="n_spinbox">
+ <property name="suffix">
+ <string> times</string>
+ </property>
+ <property name="prefix">
+ <string/>
+ </property>
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>raster</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="raster_spinbox">
+ <property name="suffix">
+ <string> ticks</string>
+ </property>
+ <property name="minimum">
+ <number>0</number>
+ </property>
+ <property name="maximum">
+ <number>999999</number>
+ </property>
+ <property name="singleStep">
+ <number>384</number>
+ </property>
+ <property name="value">
+ <number>384</number>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QLabel" name="insert_quarters">
+ <property name="text">
+ <string>1 quarter</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QLabel" name="raster_quarters">
+ <property name="text">
+ <string>1 quarter</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="2">
+ <spacer name="horizontalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox_2">
+ <property name="title">
+ <string>Move, Merge, Clone</string>
+ </property>
+ <property name="flat">
+ <bool>false</bool>
+ </property>
+ <property name="checkable">
+ <bool>false</bool>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <item row="2" column="0">
+ <widget class="QRadioButton" name="move_all_button">
+ <property name="text">
+ <string>Move everything to the right</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QRadioButton" name="move_some_button">
+ <property name="text">
+ <string>Move only affected parts to the right</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <spacer name="horizontalSpacer">
+ <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 row="6" column="0">
+ <widget class="QCheckBox" name="all_in_one_track_checkbox">
+ <property name="text">
+ <string>Put everything into a single track</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QRadioButton" name="merge_button">
+ <property name="text">
+ <string>Merge with existing parts</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="0">
+ <widget class="QCheckBox" name="clone_checkbox">
+ <property name="text">
+ <string>Insert as clones (where possible)</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </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>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <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>
+ <item>
+ <widget class="QPushButton" name="okButton">
+ <property name="text">
+ <string>OK</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="cancelButton">
+ <property name="text">
+ <string>Cancel</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>okButton</sender>
+ <signal>clicked()</signal>
+ <receiver>PasteDialogBase</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cancelButton</sender>
+ <signal>clicked()</signal>
+ <receiver>PasteDialogBase</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>