On Wed, 19 Sep 2012 14:54:57 +0200, Salvatore Larosa <lrssv...@gmail.com>
wrote:
> Hi Phil,
> 
> 2012/9/19 Phil Thompson <p...@riverbankcomputing.com>
> 
>> On Wed, 19 Sep 2012 08:05:42 +0200, Salvatore Larosa
<lrssv...@gmail.com>
>> wrote:
>> > Hi,
>> >
>> > 2012/9/19 Phil Thompson <p...@riverbankcomputing.com>
>> >
>> >> On Tue, 18 Sep 2012 23:16:00 +0200, Salvatore Larosa
>> <lrssv...@gmail.com>
>> >> wrote:
>> >> > Hi all,
>> >> > I am not sure if this is the rigth place to ask!
>> >> >
>> >> > I created a small console to execute python command by using
>> Qscintilla
>> >> > python bindings but something doesnt work with MIME data.
>> >> >
>> >> > My code is:
>> >> >
>> >> > def fromMimeData(self, source):
>> >> >         if source.hasText():
>> >> >             pasteList = QStringList()
>> >> >             pasteList = source.text().split("\n")
>> >> >             if (len(pasteList) > 1):
>> >> >               self.move_cursor_to_end()
>> >> >             for line in pasteList[:-1]:
>> >> >                 self.append(line)
>> >> >                 self.move_cursor_to_end()
>> >> >                 self.runCommand(unicode(self.currentCommand()))
>> >> >             self.append(unicode(pasteList[-1]))
>> >> >             self.move_cursor_to_end()
>> >> >
>> >> > First question: when I paste some text in console and run command
I
>> >> > get:
>> >> >
>> >> > TypeError: invalid result type from PythonEdit.fromMimeData()
>> >> >
>> >> > How I can avoid it?
>> >>
>> >> fromMimeData() should return a 2-tuple of the text as a QByteArray
and
>> a
>> >> bool set if the selection is rectangular.
>> >>
>> >
>> > Thanks for your reply.
>> >
>> > oddly the paste command works well although returns that error!
>> > how should I manage the contents of tuple?
>>
>> I don't know what your code is supposed to do. If  your implementation
of
>> fromMimeData() is adding extra behaviour (rather than changing the
>> default
>> behaviour) then call the super-class implementation, ie. add the
>> following
>> at the end...
>>
>>         return super(MyClass, self).fromMimeData(source)
>>
>>
> That solve the problem about typeError, but now it paste twice the same
> word!
> You can see the source code here [1] (MIME data stuff is at line 418).

The purpose of fromMimeData() is to allow you to specify how MIME data is
converted to text. It looks like you are trying to use it for another
purpose. You should probably look at reimplementing dropEvent() instead.

Phil
_______________________________________________
PyQt mailing list    PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to