@@ -517,110 +517,6 @@ def __init__(self, is_edited=False, is_starred=False):
517517 super (Indicators , self ).__init__ (indicators )
518518
519519
520- class Message (urwid .AttrMap ):
521- __metaclass__ = urwid .MetaSignals
522- signals = [
523- 'delete_message' ,
524- 'edit_message' ,
525- 'go_to_profile' ,
526- 'go_to_sidebar' ,
527- 'quit_application' ,
528- 'set_insert_mode' ,
529- 'mark_read' ,
530- ]
531-
532- def __init__ (self , ts , channel_id , user , text , indicators , reactions = (), attachments = ()):
533- self .ts = ts
534- self .channel_id = channel_id
535- self .user_id = user .id
536- self .markdown_text = text
537- self .original_text = text .original_text
538- self .text_widget = urwid .WidgetPlaceholder (text )
539- main_column = [urwid .Columns ([('pack' , user ), self .text_widget ])]
540- main_column .extend (attachments )
541- self ._file_index = len (main_column )
542- if reactions :
543- main_column .append (urwid .Columns ([
544- ('pack' , reaction ) for reaction in reactions
545- ]))
546- self .main_column = urwid .Pile (main_column )
547- columns = [
548- ('fixed' , 7 , Time (ts )),
549- self .main_column ,
550- ('fixed' , indicators .size , indicators )
551- ]
552- self .contents = urwid .Columns (columns )
553- super (Message , self ).__init__ (self .contents , None , {
554- None : 'active_message' ,
555- 'message' : 'active_message'
556- })
557-
558- def keypress (self , size , key ):
559- keymap = Store .instance .config ['keymap' ]
560-
561- if key == keymap ['delete_message' ]:
562- urwid .emit_signal (self , 'delete_message' , self , self .user_id , self .ts )
563- return True
564- elif key == keymap ['edit_message' ]:
565- urwid .emit_signal (self , 'edit_message' , self , self .user_id , self .ts , self .original_text )
566- return True
567- elif key == keymap ['go_to_profile' ]:
568- urwid .emit_signal (self , 'go_to_profile' , self .user_id )
569- return True
570- elif key == keymap ['go_to_sidebar' ] or key == keymap ['cursor_left' ]:
571- urwid .emit_signal (self , 'go_to_sidebar' )
572- return True
573- elif key == keymap ['quit_application' ]:
574- urwid .emit_signal (self , 'quit_application' )
575- return True
576- elif key == keymap ['set_insert_mode' ]:
577- urwid .emit_signal (self , 'set_insert_mode' )
578- return True
579- elif key == keymap ['yank_message' ]:
580- try :
581- pyperclip .copy (self .original_text )
582- except pyperclip .PyperclipException :
583- pass
584- return True
585- elif key == 'enter' :
586- browser_name = Store .instance .config ['features' ]['browser' ]
587-
588- for item in self .markdown_text .markup :
589- type , value = item
590-
591- if type == 'link' and re .compile (r'^https?://' ).search (value ):
592- browser_instance = webbrowser if browser_name == '' else webbrowser .get (browser_name )
593- browser_instance .open (value , new = 2 )
594- break
595-
596- return super (Message , self ).keypress (size , key )
597-
598- def set_text (self , text ):
599- self .text_widget .original_widget = text
600-
601- def set_edit_mode (self ):
602- self .set_attr_map ({
603- None : 'editing_message' ,
604- 'message' : 'editing_message'
605- })
606-
607- def unset_edit_mode (self ):
608- self .set_attr_map ({
609- None : None ,
610- 'message' : None
611- })
612-
613- def selectable (self ):
614- return True
615-
616- @property
617- def file (self ):
618- return None
619-
620- @file .setter
621- def file (self , file ):
622- self .main_column .contents .insert (self ._file_index , (file , ('pack' , 1 )))
623-
624520class MessageBox (urwid .AttrMap ):
625521 def __init__ (self , user , typing = None , is_read_only = False ):
626522 self .read_only_widget = urwid .Text ('You have no power here!' , align = 'center' )
@@ -971,12 +867,6 @@ def __init__(self, text='', align='left', char='─'):
971867 ]
972868 super (TextDivider , self ).__init__ (body )
973869
974-
975- class Time (urwid .Text ):
976- def __init__ (self , timestamp ):
977- time = datetime .fromtimestamp (float (timestamp )).strftime ('%H:%M' )
978- super (Time , self ).__init__ (('datetime' , ' {} ' .format (time )))
979-
980870def shorten_hex (color ):
981871 if color .startswith ('#' ):
982872 color = color [1 :]
0 commit comments