ZynAddSubFX: added support for d'n'd XIZ files onto ZASF plugin
This commit allows the user to drag'n'drop DLL files onto ZynAddSubFX instrument (inside LMMS).
This commit is contained in:
@@ -27,6 +27,7 @@
|
||||
|
||||
#include <Qt/QtXml>
|
||||
#include <QtCore/QTemporaryFile>
|
||||
#include <QtGui/QDropEvent>
|
||||
#include <QtGui/QPushButton>
|
||||
|
||||
#include "zynaddsubfx.h"
|
||||
@@ -35,6 +36,7 @@
|
||||
#include "instrument_play_handle.h"
|
||||
#include "instrument_track.h"
|
||||
#include "gui_templates.h"
|
||||
#include "string_pair_drag.h"
|
||||
#include "remote_zynaddsubfx.h"
|
||||
|
||||
#undef SINGLE_SOURCE_COMPILE
|
||||
@@ -269,6 +271,8 @@ zynAddSubFxView::zynAddSubFxView( instrument * _instrument, QWidget * _parent )
|
||||
m_toggleUIButton->setWhatsThis(
|
||||
tr( "Click here to show or hide the graphical user interface "
|
||||
"(GUI) of ZynAddSubFX." ) );
|
||||
|
||||
setAcceptDrops( true );
|
||||
}
|
||||
|
||||
|
||||
@@ -281,6 +285,46 @@ zynAddSubFxView::~zynAddSubFxView()
|
||||
|
||||
|
||||
|
||||
void zynAddSubFxView::dragEnterEvent( QDragEnterEvent * _dee )
|
||||
{
|
||||
if( _dee->mimeData()->hasFormat( stringPairDrag::mimeType() ) )
|
||||
{
|
||||
QString txt = _dee->mimeData()->data(
|
||||
stringPairDrag::mimeType() );
|
||||
if( txt.section( ':', 0, 0 ) == "presetfile" )
|
||||
{
|
||||
_dee->acceptProposedAction();
|
||||
}
|
||||
else
|
||||
{
|
||||
_dee->ignore();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_dee->ignore();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void zynAddSubFxView::dropEvent( QDropEvent * _de )
|
||||
{
|
||||
const QString type = stringPairDrag::decodeKey( _de );
|
||||
const QString value = stringPairDrag::decodeValue( _de );
|
||||
if( type == "presetfile" )
|
||||
{
|
||||
castModel<zynAddSubFx>()->loadFile( value );
|
||||
_de->accept();
|
||||
return;
|
||||
}
|
||||
_de->ignore();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void zynAddSubFxView::modelChanged( void )
|
||||
{
|
||||
toggleUI();
|
||||
|
||||
@@ -96,6 +96,11 @@ public:
|
||||
virtual ~zynAddSubFxView();
|
||||
|
||||
|
||||
protected:
|
||||
virtual void dragEnterEvent( QDragEnterEvent * _dee );
|
||||
virtual void dropEvent( QDropEvent * _de );
|
||||
|
||||
|
||||
private:
|
||||
void modelChanged( void );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user