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()
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)
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)