예제 #1
0
 def _on_recs_dir_changed(self, widget):
     new_path = widget.get_filename()
     if os.access(new_path, os.W_OK):
         config.recs_dir = new_path
         self._changed = True
     else:
         show_dialog(self, _("Error"), "dialog-warning", _("Invalid recordings storage location"))
         widget.set_filename(config.recs_dir)
         widget.grab_focus()
예제 #2
0
 def _gstreamer_error_show(self, type, msg):
     """ Show error dialog """
     if type == "warning":
         logging.warning(msg)
         show_dialog(self._window, "GStreamer warning",
                     "dialog-warning", msg)
     elif type == "error":
         logging.error(msg)
         show_dialog(self._window, "GStreamer error",
                     "dialog-error", msg)
예제 #3
0
 def _on_send(self, button):
     """ Check if forms are empty, otherwise send the message """
     color = Gdk.RGBA()
     # Reset border color
     color.parse(COLOR_TEXTVIEW_BORDER)
     self._msg_border.override_background_color(Gtk.StateType.NORMAL, color)
     # Check sender entry
     if not self._sender.get_text_length():
         self._sender.grab_focus()
         return
     msg_buf = self._msg.get_buffer()
     # Check message length
     if not msg_buf.get_char_count():
         color.parse(COLOR_INVALID)
         self._msg_border.override_background_color(Gtk.StateType.NORMAL,
                                                    color)
         self._msg.grab_focus()
         return
     # Get message from buffer
     start = msg_buf.get_start_iter()
     end = msg_buf.get_end_iter()
     text = msg_buf.get_text(start, end, True)
     # Send message
     res = self._send_message(self._sender.get_text(), text)
     if res["type"] == "error":
         # Update status
         err = "<i>{0}</i>".format(_("Couldn't send message"))
         self._status.set_markup(err)
         self._status.show()
     elif res["type"] == "success":
         # Clear text form
         msg_buf.delete(start, end)
         # Disable button for 120 seconds
         self._send_button.set_sensitive(False)
         self._countdown(120)
         # Update status
         success = "<i>{0}</i>".format(_("Message sent"))
         self._status.set_markup(success)
         self._status.show()
     elif res["type"] == "time":
         # This should never happen, but sometimes it does
         self._send_button.set_sensitive(False)
         self._countdown(res["data"])
         # Update status
         time = "<i>{0}</i>".format(_("Couldn't send message"))
         self._status.set_markup(time)
         self._status.show()
     else:
         # This should never happen
         show_dialog(self._im, "Error", "dialog-error",
                     "Unexpected response")
         logging.error("Unexpected response type: " + res)
     # Hide status
     GObject.timeout_add(10000, self._status.hide)