Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Adds method to copy string to clipboard
	This commit adds a method to the Clipboard class to copy a generic string to the clipboard, using the given MimeType from our enum. That is used in the PianoRoll to copy notes, saving a few lines on PianoRoll.cpp by moving some of the clipboard logic to the Clipboard class.
  • Loading branch information
IanCaio committed Aug 16, 2020
commit b787b4ffdf3c7cd77b8c7bc5bd0c55422cee2da8
2 changes: 2 additions & 0 deletions include/Clipboard.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ class Clipboard
static void copy( JournallingObject * _object );
static const QDomElement * getContent( const QString & _node_name );

static void copyString( const QString & str, MimeType mT );

// Helper methods for String Pair data
static void copyStringPair( const QString & key, const QString & value );
static QString decodeKey( const QMimeData * mimeData );
Expand Down
11 changes: 11 additions & 0 deletions src/core/Clipboard.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,17 @@ const QDomElement * Clipboard::getContent( const QString & _node_name )



void Clipboard::copyString( const QString & str, MimeType mT )
{
QMimeData *content = new QMimeData;

content->setData( mimeType( mT ), str.toUtf8() );
QApplication::clipboard()->setMimeData( content, QClipboard::Clipboard );
}




void Clipboard::copyStringPair( const QString & key, const QString & value )
{
QString finalString = key + ":" + value;
Expand Down
5 changes: 1 addition & 4 deletions src/gui/editors/PianoRoll.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3890,10 +3890,7 @@ void PianoRoll::copyToClipboard( const NoteVector & notes ) const
clip_note.saveState( dataFile, note_list );
}

QMimeData * clip_content = new QMimeData;
clip_content->setData( Clipboard::mimeType( Clipboard::Default ), dataFile.toString().toUtf8() );
QApplication::clipboard()->setMimeData( clip_content,
QClipboard::Clipboard );
Clipboard::copyString( dataFile.toString(), Clipboard::Default );
}


Expand Down