Hey, I made some thinking about how it would be nice to hadle video (a. k. a. video chat) in Kopete. Looking at Windows Live Messenger official client, Video is embedded into the chat window and you can't (apparently) hide it. It's a good idea because you can see only the person you are talking to and you don't have a lot of windows on your desktop. In aMSN, video is shown in another window. It's a good idea because you can have all video windows on top of other windows so you can see everybody at the same time. In Kopete, it seems that each protocol (currently, just Yahoo) has to manage that itself (by showing a video window like the old MSN plugin did)
Mixing both ideas brings me to this : the video could be shown in a QDockWidget (or similar if there is one in kdelibs) created by the chat window so the Video could be attached to the chat window or floating all alone in it's own window. The API could be as simple as // Show the video widget, maybe remembering last QDockWidget::isFloating() // (Webcam chat has started) void showVideo(); // Hide the video widget (webcam chat is finished) void hideVideo(); // Set a QImage in the video widget (channel = Local for local video, // Remote for remote video) void setImage(const QImage& img, Channel c); That last one could be split in setLocalImage() and setRemoteImage(), it doesn't really matters. Of course, this QDockWidget could also get buttons to stop/start/pause video. Some other ideas I had : * Resizing the video window would resize the video (keeping ratio ?) * When closing the chat window : do we stop video or just detach the QDockWidget (would it still be there when the chat window is closed ?) ? For this point, both aMSN and WLM stop the video chat. * The widget could also manage everything related to audio chat (keeping stop/start/pause buttons but with a nice voice icon) * In WLM, the video can be resized in 3 different sizes, that could be used too. * Video could be shown everywhere the contact photo is shown (even thought it might be a little bit annoying seeing the video one more time each time a message is received.) * You might ask "Why not using Phonon for all that ?" Well, Phonon can't handle showing video (neither playing sound) from a buffer if it's not a QFile. So, I think that's pretty much it. Cheers, Detlev Casanova. _______________________________________________ kopete-devel mailing list [email protected] https://mail.kde.org/mailman/listinfo/kopete-devel
