From f1c1b6a59e971b31d26179f2cb3482dc6e908691 Mon Sep 17 00:00:00 2001 From: Ariel Calzada Date: Mon, 01 Oct 2012 13:26:28 +0000 Subject: Added delay time, fixed open multiple activities at once --- diff --git a/activity/activity.info b/activity/activity.info index 8baaef7..8f45848 100644 --- a/activity/activity.info +++ b/activity/activity.info @@ -3,5 +3,5 @@ name = Screencast bundle_id = org.laptop.Screencast exec = sugar-activity screencast_activity.ScreencastActivity icon = screencast-icon -activity_version = 6.2 +activity_version = 6.3 license = GPLv3+ diff --git a/recordmydesktop b/recordmydesktop index f930c61..482fdb3 100755 --- a/recordmydesktop +++ b/recordmydesktop Binary files differ diff --git a/screencast_activity.py b/screencast_activity.py index e87383f..a9f6e4b 100644 --- a/screencast_activity.py +++ b/screencast_activity.py @@ -91,7 +91,7 @@ class ScreencastActivity(activity.Activity): def recordButtonClicked(self, widget): """ Record button clicked event """ - self._ui.changeButtonsState("record") + self.waitStart() self._process.runProcess(self._ui.getCurrentQuality(), self._ui.isSoundCheckActive(), self._outfile) self._state = "record" @@ -142,8 +142,17 @@ class ScreencastActivity(activity.Activity): """ Close before verification """ + return True + if self._state == "stop": return True self._ui.alert("You need to finish current operation before quitting") return False + + def waitStart(self): + """ Wait started + """ + self._ui.changeButtonsState("wait") + self._ui.waitSomeTime(5) + self._ui.changeButtonsState("record") diff --git a/screencast_process.py b/screencast_process.py index 6408ec9..20d090b 100644 --- a/screencast_process.py +++ b/screencast_process.py @@ -21,7 +21,6 @@ import subprocess import os import gobject -import os import signal import popen2 import fcntl @@ -85,16 +84,20 @@ class ScreencastProcess(gobject.GObject): # Overwrite self._args.append("--overwrite") - # Encode on the fly - #self._args.append("--on-the-fly-encoding") - # Quality + # Low if str(q) == "2": self._args.append("-v_quality") self._args.append("0") + # Medium elif str(q) == "1": self._args.append("-v_quality") - self._args.append("31") + self._args.append("10") + # High + elif str(q) == "0": + self._args.append("-v_quality") + #self._args.append("31") + self._args.append("20") # Sound if not s: @@ -110,7 +113,6 @@ class ScreencastProcess(gobject.GObject): # Check process every second self._childtimer = gobject.timeout_add (1000, self.checkProcessStatus) - def checkProcessStatus(self): """ Check the current status of the process """ diff --git a/screencast_ui.py b/screencast_ui.py index 2290dff..e552fb6 100644 --- a/screencast_ui.py +++ b/screencast_ui.py @@ -37,6 +37,8 @@ import gobject # Alert popup from sugar.graphics.alert import NotifyAlert +import time + class ScreencastUI(gobject.GObject): """ Screencast UI """ @@ -194,6 +196,12 @@ class ScreencastUI(gobject.GObject): self._soundCheck.set_sensitive(False) self._qualityCombo.set_sensitive(False) self._statusbar.set_text("Status: Encoding") + elif activate == "wait": + self._recordButton.set_sensitive(False) + self._soundCheck.set_sensitive(False) + self._qualityCombo.set_sensitive(False) + self._stopButton.set_sensitive(False) + self._statusbar.set_text("Status: Waiting") else: self._stopButton.set_sensitive(False) self._recordButton.set_sensitive(True) @@ -258,3 +266,13 @@ class ScreencastUI(gobject.GObject): """ Destroy alert popup """ self._activity.remove_alert(alert) + + def waitSomeTime(self,t): + """ Wait some seconds + """ + time_start = time.time() + time_end = (time_start + 5) + + while time_end > time.time(): + while gtk.events_pending(): + gtk.main_iteration() -- cgit v0.9.1