diff --git a/app/js/controllers.js b/app/js/controllers.js index acc6b7c9..4c59304f 100644 --- a/app/js/controllers.js +++ b/app/js/controllers.js @@ -1391,15 +1391,37 @@ angular.module('myApp.controllers', ['myApp.i18n']) } function toggleMessage (messageID, $event) { - var target = $event.target, - shiftClick = $event.shiftKey; + if ($scope.historyState.startBot) { + return false; + } - if (shiftClick) { - $scope.$broadcast('ui_selection_clear'); + if (!$scope.historyState.selectActions) { + var sel = ( + window.getSelection && window.getSelection() || + document.getSelection && document.getSelection() || + document.selection && document.selection.createRange().text || '' + ).toString().replace(/^\s+|\s+$/g, ''); + if (sel) { + return false; + } + + var target = $event.target; + while (target) { + if (target.className.indexOf('im_message_outer_wrap') != -1) { + break; + } + if (target.tagName == 'A' || + target.onclick || + target.getAttribute('ng-click')) { + return false; + } + target = target.parentNode; + } } - if (!$scope.historyState.selectActions && !$(target).hasClass('icon-select-tick') && !$(target).hasClass('im_content_message_select_area')) { - return false; + var shiftClick = $event.shiftKey; + if (shiftClick) { + $scope.$broadcast('ui_selection_clear'); } if ($scope.selectedMsgs[messageID]) { diff --git a/app/less/app.less b/app/less/app.less index 58a541d9..3691fe04 100644 --- a/app/less/app.less +++ b/app/less/app.less @@ -1659,7 +1659,7 @@ div.im_message_video_thumb { background-position: -2px -542px; } -.im_history_selectable { +.im_history_select_active { a { pointer-events: none; } @@ -3075,6 +3075,8 @@ a.peer_photo_init { color: #fff; text-align: center; text-transform: uppercase; + + .user-select(none); } h5 { diff --git a/app/less/desktop.less b/app/less/desktop.less index 37e52c0e..a025be33 100644 --- a/app/less/desktop.less +++ b/app/less/desktop.less @@ -911,11 +911,11 @@ a.footer_link.active:active { .im_message_selected .im_message_audio_duration, .im_message_selected .im_message_audio_size, .im_message_selected .im_message_fwd_date, -.im_history_selectable .im_message_outer_wrap:hover .im_message_date, -.im_history_selectable .im_message_outer_wrap:hover .im_message_document_size, -.im_history_selectable .im_message_outer_wrap:hover .im_message_audio_duration, -.im_history_selectable .im_message_outer_wrap:hover .im_message_audio_size, -.im_history_selectable .im_message_outer_wrap:hover .im_message_fwd_date { +.im_history_select_active .im_message_outer_wrap:hover .im_message_date, +.im_history_select_active .im_message_outer_wrap:hover .im_message_document_size, +.im_history_select_active .im_message_outer_wrap:hover .im_message_audio_duration, +.im_history_select_active .im_message_outer_wrap:hover .im_message_audio_size, +.im_history_select_active .im_message_outer_wrap:hover .im_message_fwd_date { color: #899daf; } @@ -1752,14 +1752,11 @@ a.im_panel_peer_photo .peer_initials { background: #f2f6fa; } -.im_history_selectable { - .im_message_outer_wrap { - cursor: pointer; - - &:hover { - background: #f2f6fa; - } - } +.im_history_selectable .im_message_outer_wrap { + cursor: pointer; +} +.im_history_select_active .im_message_outer_wrap:hover { + background: #f2f6fa; } .im_message_wrap { diff --git a/app/less/mobile.less b/app/less/mobile.less index caadc826..2ce1f3ac 100644 --- a/app/less/mobile.less +++ b/app/less/mobile.less @@ -519,7 +519,7 @@ html { border: 0; overflow: hidden; } -.im_history_selectable .im_message_outer_wrap:hover, +.im_history_select_active .im_message_outer_wrap:hover, .im_message_selected { background: #e1e9f0; } @@ -831,10 +831,10 @@ img.im_message_video_thumb, .im_message_focus .audio_player_duration, .im_message_focus .audio_player_size, .im_message_focus .im_message_fwd_date, -.im_history_selectable .im_message_outer_wrap:hover .im_message_document_size, -.im_history_selectable .im_message_outer_wrap:hover .audio_player_duration, -.im_history_selectable .im_message_outer_wrap:hover .audio_player_size, -.im_history_selectable .im_message_outer_wrap:hover .im_message_fwd_date { +.im_history_select_active .im_message_outer_wrap:hover .im_message_document_size, +.im_history_select_active .im_message_outer_wrap:hover .audio_player_duration, +.im_history_select_active .im_message_outer_wrap:hover .audio_player_size, +.im_history_select_active .im_message_outer_wrap:hover .im_message_fwd_date { color: #68839c; } @@ -1077,10 +1077,10 @@ a.im_dialog { .im_message_selected .audio_player_title, .im_message_selected .audio_player_duration, .im_message_selected .audio_player_size, -.im_history_selectable .im_message_selected:hover .im_message_document_size, -.im_history_selectable .im_message_selected:hover .audio_player_duration, -.im_history_selectable .im_message_selected:hover .audio_player_size, -.im_history_selectable .im_message_selected:hover .im_message_fwd_date { +.im_history_select_active .im_message_selected:hover .im_message_document_size, +.im_history_select_active .im_message_selected:hover .audio_player_duration, +.im_history_select_active .im_message_selected:hover .audio_player_size, +.im_history_select_active .im_message_selected:hover .im_message_fwd_date { color: #fff; } a.im_message_fwd_author { diff --git a/app/partials/desktop/im.html b/app/partials/desktop/im.html index 233cdbee..43e63fb4 100644 --- a/app/partials/desktop/im.html +++ b/app/partials/desktop/im.html @@ -103,7 +103,7 @@
-
+