Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/pippy_app.py
diff options
context:
space:
mode:
Diffstat (limited to 'pippy_app.py')
-rw-r--r--pippy_app.py48
1 files changed, 37 insertions, 11 deletions
diff --git a/pippy_app.py b/pippy_app.py
index 406fa4d..d3f4c5a 100644
--- a/pippy_app.py
+++ b/pippy_app.py
@@ -65,20 +65,37 @@ class ScreencastActivity(ViewSourceActivity):
# Recording buttons.
self.record = gtk.Button("Record")
self.record.connect("clicked", self.record_cb)
- self.record.set_size_request(100, 100)
+ self.record.set_size_request(150, 150)
+ recimage = gtk.Image()
+ recimage.set_from_icon_name("media-record", -1)
+ self.record.set_image(recimage)
self.stop = gtk.Button("Stop")
self.stop.connect("clicked", self.stop_cb)
- self.stop.set_size_request(100, 100)
+ self.stop.set_size_request(150, 150)
self.stop.set_sensitive(False)
+ stopimage = gtk.Image()
+ stopimage.set_from_icon_name("media-playback-stop", -1)
+ self.stop.set_image(stopimage)
+
+ # Record sound checkbox
+ self.audiocheckbox = gtk.CheckButton(label="record sound")
+ self.audiocheckbox.set_active(True)
+ audio = gtk.Alignment(0.5, 0, 0, 0)
+ audio.add(self.audiocheckbox)
# Status label.
self.status = gtk.Label(_("Status: Stopped"))
- hbox.pack_start(self.record, expand=False, padding=20)
- hbox.pack_start(self.stop, expand=False, padding=20)
- hbox.pack_start(self.status, expand=False, padding=20)
+
+ hbox.pack_start(self.record, expand=False, padding=40)
+ hbox.pack_start(self.stop, expand=False, padding=40)
- vbox.pack_start(hbox, expand=True, fill=False)
- self.set_canvas(vbox)
+ valign = gtk.Alignment(0.5, 0.4, 0, 0)
+ valign.add(vbox)
+ vbox.pack_end(self.status, expand=True, padding=40)
+ vbox.pack_end(hbox, expand=True, fill=False)
+ vbox.pack_end(audio, expand=True, padding=40)
+
+ self.set_canvas(valign)
self.show_all()
def write_file (self, file_path):
@@ -121,12 +138,16 @@ class ScreencastActivity(ViewSourceActivity):
def alert_cancel_cb(self, alert, response_id):
self.remove_alert(alert)
-
def record_cb(self, record):
self.stop.set_sensitive(True)
self.record.set_sensitive(False)
- execargs = ["./recordmydesktop", "--overwrite", "-o", OUTFILE]
+ self.audiocheckbox.set_sensitive(False)
+ if self.audiocheckbox.get_active():
+ execargs = ["./recordmydesktop", "--no-frame", "--overwrite", "-o", OUTFILE]
+ else:
+ execargs = ["./recordmydesktop", "--no-frame", "--no-sound", "--overwrite", "-o", OUTFILE]
self.childp = popen2.Popen3(execargs, "t", 0)
+ print execargs
flags = fcntl.fcntl(self.childp.childerr, fcntl.F_GETFL)
fcntl.fcntl(self.childp.childerr, fcntl.F_SETFL, flags|os.O_NONBLOCK)
self.timed_id = gobject.timeout_add(1000, self.check_status_cb)
@@ -137,7 +158,6 @@ class ScreencastActivity(ViewSourceActivity):
exitret = os.waitpid(self.childp.pid, os.WNOHANG)
if exitret[0] == 0:
os.kill(self.childp.pid, signal.SIGTERM)
- self.record.set_sensitive(True)
self.stop.set_sensitive(False)
def check_status_cb(self):
@@ -147,7 +167,13 @@ class ScreencastActivity(ViewSourceActivity):
print "no more record process"
# The recording process exited
self.status.set_text("Status: Stopped")
- os.system('copy-to-journal /tmp/recordmydesktop.ogv -m video/ogg -t "My Screencast"')
+ self.record.set_sensitive(True)
+ self.audiocheckbox.set_sensitive(True)
+ if self._jobject.metadata['title_set_by_user'] == '1':
+ title = self.metadata['title']
+ else:
+ title = "My Screencast"
+ os.system("copy-to-journal /tmp/recordmydesktop.ogv -m video/ogg -t \"%s\""% title)
return False
else:
# Maybe we have new stderr.