GSoC/GCI Archive
Google Code-in 2013 KDE

Basic implementation of Capture Movie in Marble: Timer and Menu

completed by: Illya Kovalevskyy

mentors: Torsten Rahn, Dennis Nienhüser, Utku Aydın, Andrei Dorian Duma

We would like to implement movie capturing for Marble. This task is about the first step:

  • Add a menu item "Capture Movie" to the Edit Menu (add a menu separator behind the Copy entries). Assign a keyboard shortcut to it. Once it's clicked the text should toggle to "Stop Capture". A reasonable shortcut should be assigned to this action. This should be implemented either for the Marble Qt or the KDE version.
  • Create a new MovieCapture class. This movie class should have a QTimer. with a predefined interval of 200 ms provided as a member.
  • The MovieCapture class should have a startRecording() method which will start the QTimer
  • Every time the timer is triggered recordFrame() slot should be executed.
  • In our most basic implementation the recordFrame() slot should just grab a QPixmap using MarbleWidget::mapScreenShot() and should save it as a PNG with a numbered filename without user interaction into the home directory.
  • The MovieCapture class should have a stopRecording() method which will stop the Timer.
  • The Capture Menu entry should be connected to the start() / stop() methods.