def OnSetRoomWallMessage(self, widget): result = self.RoomWallEntry.get_text() self.RoomWallEntry.set_text("") config = self.frame.np.config.sections room_name = self.room.room self.frame.np.queue.put(slskmessages.RoomTickerSet(room_name, result)) self.RoomWallList.get_buffer().set_text("") login = config["server"]["login"] if result: AppendLine(self.RoomWallList, "[%s] %s" % (login, result), showstamp=False, scroll=False) tickers = self.room.Tickers.get_tickers() AppendLine(self.RoomWallList, "%s" % ("\n".join([ "[%s] %s" % (user, msg) for (user, msg) in tickers if not user == login ])), showstamp=False, scroll=False)
def OnSetRoomWallMessage(self, widget): result = self.RoomWallEntry.get_text() self.RoomWallEntry.set_text("") config = self.frame.np.config.sections room_name = self.room.room if not result: if room_name in config["ticker"]["rooms"]: del config["ticker"]["rooms"][room_name] else: config["ticker"]["rooms"][room_name] = result self.frame.np.config.writeConfiguration() self.frame.np.queue.put(slskmessages.RoomTickerSet(room_name, result)) self.RoomWallList.get_buffer().set_text("") tickers = self.room.Tickers.get_tickers() login = config["server"]["login"] AppendLine(self.RoomWallList, "%s" % ("\n".join([ "[%s] %s" % (user, msg) for (user, msg) in tickers if not user == login ])), showstamp=False) if result: AppendLine(self.RoomWallList, "[%s] %s" % (login, result), showstamp=False)
def on_set_room_wall_message(self, *_args): entry_text = self.clear_room_wall_message(update_list=False) self.frame.np.queue.append(slskmessages.RoomTickerSet(self.room.room, entry_text)) if entry_text: login_username = self.frame.np.login_username self.room_wall_textview.append_line("[%s] %s" % (login_username, entry_text), showstamp=False, scroll=False) self.update_message_list()
def clear_room_wall_message(self, update_list=True): entry_text = self.message_entry.get_text() self.message_entry.set_text("") self.room.tickers.remove_ticker(self.frame.np.login_username) self.room_wall_textview.clear() if update_list: self.frame.np.queue.append(slskmessages.RoomTickerSet(self.room.room, "")) self.update_message_list() return entry_text
def on_set_room_wall_message(self, *args): entry_text = self.clear_room_wall_message(update_list=False) self.frame.np.queue.append( slskmessages.RoomTickerSet(self.room.room, entry_text)) if entry_text: login = config.sections["server"]["login"] append_line(self.RoomWallList, "[%s] %s" % (login, entry_text), showstamp=False, scroll=False) self.update_message_list()
def clear_room_wall_message(self, update_list=True): entry_text = self.RoomWallEntry.get_text() self.RoomWallEntry.set_text("") login = config.sections["server"]["login"] self.room.tickers.remove_ticker(login) self.RoomWallList.get_buffer().set_text("") if update_list: self.frame.np.queue.append( slskmessages.RoomTickerSet(self.room.room, "")) self.update_message_list() return entry_text
def on_set_room_wall_message(self, *args): result = self.RoomWallEntry.get_text() self.RoomWallEntry.set_text("") room_name = self.room.room self.frame.np.queue.append(slskmessages.RoomTickerSet(room_name, result)) self.RoomWallList.get_buffer().set_text("") login = config.sections["server"]["login"] if result: append_line(self.RoomWallList, "[%s] %s" % (login, result), showstamp=False, scroll=False) tickers = self.room.tickers.get_tickers() append_line(self.RoomWallList, "%s" % ("\n".join(["[%s] %s" % (user, msg) for (user, msg) in tickers if not user == login])), showstamp=False, scroll=False)
def on_enter(self, widget): text = widget.get_text() if not text: widget.set_text("") return if is_alias(text): alias_text = expand_alias(text) if not alias_text: log.add(_('Alias "%s" returned nothing'), text) return text = alias_text s = text.split(" ", 1) cmd = s[0] # Remove empty items created by split, if command ended with a space, e.g. '/ctcpversion ' if len([i for i in s if i]) == 2: arg_self = args = s[1] else: if not self.is_chatroom: arg_self = self.entity else: arg_self = "" args = "" if cmd[:1] == "/" and cmd[:2] != "//" and cmd + " " not in self.command_list: log.add(_("Command %s is not recognized"), text) return if cmd in ("/alias", "/al"): append_line(self.textview, add_alias(args), None, "") if config.sections["words"]["aliases"]: self.frame.update_completions() elif cmd in ("/unalias", "/un"): append_line(self.textview, unalias(args), None, "") if config.sections["words"]["aliases"]: self.frame.update_completions() elif cmd in ("/w", "/whois", "/info"): if arg_self: self.frame.np.userinfo.request_user_info(arg_self) self.frame.change_main_page("userinfo") elif cmd in ("/b", "/browse"): if arg_self: self.frame.np.userbrowse.browse_user(arg_self) self.frame.change_main_page("userbrowse") elif cmd == "/ip": if arg_self: self.frame.np.request_ip_address(arg_self) elif cmd == "/pm": if args: self.frame.np.privatechats.show_user(args) self.frame.change_main_page("private") elif cmd in ("/m", "/msg"): if args: s = args.split(" ", 1) user = s[0] if len(s) == 2: msg = s[1] else: msg = None self.frame.np.privatechats.show_user(args) self.frame.np.privatechats.send_message(user, msg) self.frame.change_main_page("private") elif cmd in ("/s", "/search"): if args: self.frame.SearchMethod.set_active(0) self.frame.SearchEntry.set_text(args) self.frame.on_search(self.frame.SearchEntry) self.frame.change_main_page("search") elif cmd in ("/us", "/usearch"): s = args.split(" ", 1) if len(s) == 2: self.frame.SearchMethod.set_active(3) self.frame.SearchEntry.set_text(s[1]) self.frame.UserSearchEntry.set_text(s[0]) self.frame.on_search(self.frame.SearchEntry) self.frame.change_main_page("search") elif cmd in ("/rs", "/rsearch"): if args: self.frame.SearchMethod.set_active(2) self.frame.SearchEntry.set_text(args) self.frame.on_search(self.frame.SearchEntry) self.frame.change_main_page("search") elif cmd in ("/bs", "/bsearch"): if args: self.frame.SearchMethod.set_active(1) self.frame.SearchEntry.set_text(args) self.frame.on_search(self.frame.SearchEntry) self.frame.change_main_page("search") elif cmd in ("/j", "/join"): if args: self.frame.np.queue.append(slskmessages.JoinRoom(args)) elif cmd in ("/l", "/leave", "/p", "/part"): if args: self.frame.np.queue.append(slskmessages.LeaveRoom(args)) else: self.frame.np.queue.append(slskmessages.LeaveRoom(self.entity)) elif cmd in ("/ad", "/add", "/buddy"): if args: self.frame.np.userlist.add_user(args) elif cmd in ("/rem", "/unbuddy"): if args: self.frame.np.userlist.remove_user(args) elif cmd == "/ban": if args: self.frame.np.network_filter.ban_user(args) elif cmd == "/ignore": if args: self.frame.np.network_filter.ignore_user(args) elif cmd == "/ignoreip": if args: self.frame.np.network_filter.ignore_ip(args) elif cmd == "/unban": if args: self.frame.np.network_filter.unban_user(args) elif cmd == "/unignore": if args: self.frame.np.network_filter.unignore_user(args) elif cmd == "/ctcpversion": if arg_self: self.frame.np.privatechats.show_user(arg_self) self.frame.np.privatechats.send_message( arg_self, self.frame.privatechats.CTCP_VERSION, bytestring=True) elif cmd in ("/clear", "/cl"): self.textview.get_buffer().set_text("") elif cmd in ("/a", "/away"): self.frame.on_away() elif cmd in ("/q", "/quit", "/exit"): self.frame.on_quit() return # Avoid gsignal warning elif cmd in ("/c", "/close"): self.frame.privatechats.users[self.entity].on_close() elif cmd == "/now": self.frame.np.now_playing.display_now_playing( callback=lambda np_message: self.send_message(self.entity, np_message)) elif cmd == "/rescan": # Rescan public shares if needed if not config.sections["transfers"]["friendsonly"] and config.sections["transfers"]["shared"]: self.frame.on_rescan() # Rescan buddy shares if needed if config.sections["transfers"]["enablebuddyshares"]: self.frame.on_buddy_rescan() elif cmd in ("/tick", "/t"): self.frame.np.queue.append(slskmessages.RoomTickerSet(self.entity, args)) elif cmd == "/tickers": self.frame.chatrooms.joinedrooms[self.entity].show_tickers() elif cmd == "/toggle": if args: self.frame.np.pluginhandler.toggle_plugin(args) elif cmd == "/me": self.send_message(self.entity, text) elif text[:2] == "//": text = text[1:] self.send_message(self.entity, text) elif cmd[:1] == "/" and self.is_chatroom: self.frame.np.pluginhandler.trigger_public_command_event(self.entity, cmd[1:], args) elif cmd[:1] == "/" and not self.is_chatroom: self.frame.np.pluginhandler.trigger_private_command_event(self.entity, cmd[1:], args) else: self.send_message(self.entity, text) self.entry.set_text("")