Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAriel Calzada <ariel@activitycentral.com>2012-10-01 13:26:28 (GMT)
committer Ariel Calzada <ariel@activitycentral.com>2012-10-01 13:26:28 (GMT)
commitf1c1b6a59e971b31d26179f2cb3482dc6e908691 (patch)
tree342609d67bd6de1609caab0fb8cff35028d3efe5
parent3f5f9fcc0d201b51a9562e0f253519bafb85d8d1 (diff)
Added delay time, fixed open multiple activities at once
-rw-r--r--activity/activity.info2
-rwxr-xr-xrecordmydesktopbin92532 -> 88648 bytes
-rw-r--r--screencast_activity.py11
-rw-r--r--screencast_process.py14
-rw-r--r--screencast_ui.py18
5 files changed, 37 insertions, 8 deletions
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()