Merge pull request #4246 from matrix-org/t3chguy/rr_margin
Watch for show-RR settings changes, use room-specific and fix marginspull/21833/head
						commit
						624f88f0f1
					
				|  | @ -112,8 +112,6 @@ limitations under the License. | |||
| 
 | ||||
| .mx_EventTile_line, .mx_EventTile_reply { | ||||
|     position: relative; | ||||
|     /* ideally should be 100px, but 95px gives us a max thumbnail size of 800x600, which is nice */ | ||||
|     margin-right: 110px; | ||||
|     padding-left: 65px; /* left gutter */ | ||||
|     padding-top: 4px; | ||||
|     padding-bottom: 2px; | ||||
|  | @ -122,6 +120,13 @@ limitations under the License. | |||
|     line-height: 22px; | ||||
| } | ||||
| 
 | ||||
| .mx_RoomView_timeline_rr_enabled { | ||||
|     .mx_EventTile_line, .mx_EventTile_reply { | ||||
|         /* ideally should be 100px, but 95px gives us a max thumbnail size of 800x600, which is nice */ | ||||
|         margin-right: 110px; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| .mx_EventTile_bubbleContainer { | ||||
|     display: grid; | ||||
|     grid-template-columns: 1fr 100px; | ||||
|  |  | |||
|  | @ -131,6 +131,7 @@ export default createReactClass({ | |||
|             isAlone: false, | ||||
|             isPeeking: false, | ||||
|             showingPinned: false, | ||||
|             showReadReceipts: true, | ||||
| 
 | ||||
|             // error object, as from the matrix client/server API
 | ||||
|             // If we failed to load information about the room,
 | ||||
|  | @ -179,11 +180,19 @@ export default createReactClass({ | |||
|         this._onRoomViewStoreUpdate(true); | ||||
| 
 | ||||
|         WidgetEchoStore.on('update', this._onWidgetEchoStoreUpdate); | ||||
|         this._showReadReceiptsWatchRef = SettingsStore.watchSetting("showReadReceipts", null, | ||||
|             this._onReadReceiptsChange); | ||||
| 
 | ||||
|         this._roomView = createRef(); | ||||
|         this._searchResultsPanel = createRef(); | ||||
|     }, | ||||
| 
 | ||||
|     _onReadReceiptsChange: function() { | ||||
|         this.setState({ | ||||
|             showReadReceipts: SettingsStore.getValue("showReadReceipts", this.state.roomId), | ||||
|         }); | ||||
|     }, | ||||
| 
 | ||||
|     _onRoomViewStoreUpdate: function(initial) { | ||||
|         if (this.unmounted) { | ||||
|             return; | ||||
|  | @ -204,8 +213,10 @@ export default createReactClass({ | |||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         const roomId = RoomViewStore.getRoomId(); | ||||
| 
 | ||||
|         const newState = { | ||||
|             roomId: RoomViewStore.getRoomId(), | ||||
|             roomId, | ||||
|             roomAlias: RoomViewStore.getRoomAlias(), | ||||
|             roomLoading: RoomViewStore.isRoomLoading(), | ||||
|             roomLoadError: RoomViewStore.getRoomLoadError(), | ||||
|  | @ -214,7 +225,8 @@ export default createReactClass({ | |||
|             isInitialEventHighlighted: RoomViewStore.isInitialEventHighlighted(), | ||||
|             forwardingEvent: RoomViewStore.getForwardingEvent(), | ||||
|             shouldPeek: RoomViewStore.shouldPeek(), | ||||
|             showingPinned: SettingsStore.getValue("PinnedEvents.isOpen", RoomViewStore.getRoomId()), | ||||
|             showingPinned: SettingsStore.getValue("PinnedEvents.isOpen", roomId), | ||||
|             showReadReceipts: SettingsStore.getValue("showReadReceipts", roomId), | ||||
|         }; | ||||
| 
 | ||||
|         // Temporary logging to diagnose https://github.com/vector-im/riot-web/issues/4307
 | ||||
|  | @ -491,6 +503,11 @@ export default createReactClass({ | |||
| 
 | ||||
|         WidgetEchoStore.removeListener('update', this._onWidgetEchoStoreUpdate); | ||||
| 
 | ||||
|         if (this._showReadReceiptsWatchRef) { | ||||
|             SettingsStore.unwatchSetting(this._showReadReceiptsWatchRef); | ||||
|             this._showReadReceiptsWatchRef = null; | ||||
|         } | ||||
| 
 | ||||
|         // cancel any pending calls to the rate_limited_funcs
 | ||||
|         this._updateRoomMembers.cancelPendingCall(); | ||||
| 
 | ||||
|  | @ -1948,7 +1965,7 @@ export default createReactClass({ | |||
|             <TimelinePanel | ||||
|                 ref={this._gatherTimelinePanelRef} | ||||
|                 timelineSet={this.state.room.getUnfilteredTimelineSet()} | ||||
|                 showReadReceipts={SettingsStore.getValue('showReadReceipts')} | ||||
|                 showReadReceipts={this.state.showReadReceipts} | ||||
|                 manageReadReceipts={!this.state.isPeeking} | ||||
|                 manageReadMarkers={!this.state.isPeeking} | ||||
|                 hidden={hideMessagePanel} | ||||
|  | @ -2003,6 +2020,10 @@ export default createReactClass({ | |||
|             ? <RightPanel roomId={this.state.room.roomId} resizeNotifier={this.props.resizeNotifier} /> | ||||
|             : null; | ||||
| 
 | ||||
|         const timelineClasses = classNames("mx_RoomView_timeline", { | ||||
|             mx_RoomView_timeline_rr_enabled: this.state.showReadReceipts, | ||||
|         }); | ||||
| 
 | ||||
|         return ( | ||||
|             <RoomContext.Provider value={this.state}> | ||||
|                 <main className={"mx_RoomView" + (inCall ? " mx_RoomView_inCall" : "")} ref={this._roomView}> | ||||
|  | @ -2026,7 +2047,7 @@ export default createReactClass({ | |||
|                         > | ||||
|                             <div className={fadableSectionClasses}> | ||||
|                                 {auxPanel} | ||||
|                                 <div className="mx_RoomView_timeline"> | ||||
|                                 <div className={timelineClasses}> | ||||
|                                     {topUnreadMessagesBar} | ||||
|                                     {jumpToBottom} | ||||
|                                     {messagePanel} | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Michael Telatynski
						Michael Telatynski