def __init__(self, gui): global community, msgboard, chat GUI_Page.__init__(self, 'Messageboard') community = get_plugin_by_type(PLUGIN_TYPE_COMMUNITY) chat = get_plugin_by_type(PLUGIN_TYPE_MESSAGING) msgboard = get_plugin_by_type(PLUGIN_TYPE_MESSAGE_BOARD) self.notify = get_plugin_by_type(PLUGIN_TYPE_NOTIFICATION).notify self.main_gui = gui # Store Message_Page instances, key = sharemeta of the message self.message_pages = {} messageboard_icon = gtk.gdk.pixbuf_new_from_file(join(get_dir(ICON_DIR), self.MSGBOARD_ICON)) community.community_gui.register_user_event(messageboard_icon, 'Msg board', self.start_messageboard_cb) community.community_gui.register_com_event(messageboard_icon, 'Msg board', self.start_messageboard_cb) self.message_icon = gtk.gdk.pixbuf_new_from_file(join(get_dir(ICON_DIR), self.MESSAGE_ICON)) self.in_search_mode = False self.store = None self.search_store = None self.target = None # create widgets here self.create_action_list() self.message_list, self.message_view = self.create_message_list() self.search_hbox = gtk.HBox() self.search_entry = new_entry('Enter search keywords') self.search_entry.connect('activate', self.search_activate_cb) self.search_close = gtk.Button(stock=gtk.STOCK_CLOSE) self.search_close.connect('clicked', self.search_close_cb) self.search_now = gtk.Button(stock=gtk.STOCK_FIND) self.search_now.connect('clicked', self.search_now_cb) self.search_hbox.pack_start(self.search_entry, True, True) self.search_hbox.pack_start(self.search_close, False, True) self.search_hbox.pack_start(self.search_now, False, True) self.vbox = gtk.VBox() self.vbox.pack_start(self.message_list, True, True) self.vbox.pack_start(self.search_hbox, False, True) self.pack_start(self.vbox, True, True) self.pack_start(self.actions.get_widget(), False, True) self.show_all() self.search_hbox.hide() gui.add_page(self) gui.add_key_binding(gtk.gdk.CONTROL_MASK, gtk.keysyms.m, self.key_pressed_ctrl_m) msgboard.register_ui(self) self.watch_dialog = Watches_GUI(self.main_gui, msgboard.get_state, msgboard.modify_state)
def __init__(self, parent, subject=None, text=None): gtk.Dialog.__init__(self, 'Message Composer', parent, gtk.DIALOG_DESTROY_WITH_PARENT | gtk.DIALOG_MODAL, (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL)) self.add_button('Publish', 1) self.top_hbox = gtk.HBox() self.subject_label = gtk.Label() self.subject_label.set_use_markup(True) self.subject_label.set_markup('Subject:') self.subject_entry = new_entry() if subject != None: self.subject_entry.set_text(subject) self.top_hbox.pack_start(self.subject_label, False, False, 5) self.top_hbox.pack_start(self.subject_entry, True, True, 5) self.messagebuffer = gtk.TextBuffer() if text != None: self.messagebuffer.set_text(text) text_scrollarea = new_scrollarea() self.editor = new_textview() self.editor.set_buffer(self.messagebuffer) self.editor.set_wrap_mode(gtk.WRAP_WORD) self.editor.set_editable(True) self.editor.set_cursor_visible(True) text_scrollarea.add(self.editor) text_scrollarea.set_size_request(-1, 300) self.vbox.pack_start(self.top_hbox, False, False) self.vbox.pack_start(text_scrollarea, True, True) self.vbox.show_all()