diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/helper/CharSequenceHelper.kt b/app/src/main/java/de/kuschku/quasseldroid/util/helper/CharSequenceHelper.kt index a637d8c8d0b2420117006180f4f28bf2c2d2da15..898e97dc8ca62b4ef57a389b4d5f40e123ac4c37 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/helper/CharSequenceHelper.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/helper/CharSequenceHelper.kt @@ -160,8 +160,19 @@ fun CharSequence.lastWordIndices(cursor: Int = this.length, length } - val beginningOfWord = lastIndexOf(' ', cursorPosition - 1) - val endOfWord = indexOf(' ', cursorPosition) + val beginningOfWord = sequenceOf( + lastIndexOf(' ', cursorPosition - 1), + lastIndexOf('\r', cursorPosition - 1), + lastIndexOf('\n', cursorPosition - 1), + lastIndexOf('\t', cursorPosition - 1) + ).max() ?: -1 + + val endOfWord = sequenceOf( + indexOf(' ', cursorPosition), + indexOf('\r', cursorPosition), + indexOf('\n', cursorPosition), + indexOf('\t', cursorPosition) + ).min() ?: -1 val start = beginningOfWord + 1 val end = when { diff --git a/app/src/main/res/layout/fragment_topic.xml b/app/src/main/res/layout/fragment_topic.xml index fe0600db4f9e9e4f7d70ecb26df0b2ba50007471..cb7661fe01105db5439f4b64d743db853a8ad070 100644 --- a/app/src/main/res/layout/fragment_topic.xml +++ b/app/src/main/res/layout/fragment_topic.xml @@ -22,7 +22,6 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:minHeight="240dp" android:orientation="vertical"> <android.support.design.widget.CoordinatorLayout @@ -31,9 +30,9 @@ android:layout_weight="1"> <ScrollView - android:id="@+id/chatline_scroller" android:layout_width="match_parent" - android:layout_height="match_parent"> + android:layout_height="match_parent" + android:scrollbars="vertical"> <de.kuschku.quasseldroid.ui.chat.input.RichEditText android:id="@+id/chatline" diff --git a/app/src/main/res/layout/settings_aliasitem.xml b/app/src/main/res/layout/settings_aliasitem.xml index be394214ee6ac6f2a51188585f1c8e7cc7e919fc..921f0074104d05cfd9e1f0dd4e2d2af3db9dd3ab 100644 --- a/app/src/main/res/layout/settings_aliasitem.xml +++ b/app/src/main/res/layout/settings_aliasitem.xml @@ -17,27 +17,26 @@ with this program. If not, see <http://www.gnu.org/licenses/>. --> -<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:fillViewport="true" - android:scrollbars="vertical"> + android:orientation="vertical"> - <LinearLayout + <android.support.design.widget.CoordinatorLayout android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="vertical"> + android:layout_height="0dip" + android:layout_weight="1"> - <android.support.design.widget.CoordinatorLayout + <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" - android:layout_height="0dip" - android:layout_weight="1"> + android:layout_height="match_parent" + android:scrollbars="vertical"> <LinearLayout android:layout_width="match_parent" - android:layout_height="wrap_content" + android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout style="@style/Widget.CoreSettings.Wrapper"> @@ -59,50 +58,45 @@ </LinearLayout> </LinearLayout> - <ScrollView - android:layout_width="match_parent" - android:layout_height="match_parent"> - - <LinearLayout style="@style/Widget.CoreSettings.Wrapper"> - - <android.support.design.widget.TextInputLayout - style="@style/Widget.CoreSettings.PrimaryItemSwitch" - android:hint="@string/settings_aliasitem_expansion"> + <LinearLayout style="@style/Widget.CoreSettings.Wrapper"> - <de.kuschku.quasseldroid.ui.chat.input.RichEditText - android:id="@+id/expansion" - style="@style/Widget.CoreSettings.EditText" - android:imeOptions="flagNoExtractUi" - android:inputType="textMultiLine" - android:textColor="?attr/colorForeground" - android:textSize="16sp" /> - </android.support.design.widget.TextInputLayout> - </LinearLayout> - </ScrollView> + <android.support.design.widget.TextInputLayout + style="@style/Widget.CoreSettings.PrimaryItemSwitch" + android:hint="@string/settings_aliasitem_expansion"> + + <de.kuschku.quasseldroid.ui.chat.input.RichEditText + android:id="@+id/expansion" + style="@style/Widget.CoreSettings.EditText" + android:imeOptions="flagNoExtractUi" + android:inputType="textMultiLine" + android:textColor="?attr/colorForeground" + android:textSize="16sp" /> + </android.support.design.widget.TextInputLayout> + </LinearLayout> </LinearLayout> + </android.support.v4.widget.NestedScrollView> - <android.support.v7.widget.RecyclerView - android:id="@+id/autocomplete_list" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="?colorBackgroundCard" - app:behavior_hideable="true" - app:behavior_peekHeight="@dimen/autocomplete_max_height" - app:layout_behavior="@string/bottom_sheet_behavior" - tools:listitem="@layout/widget_nick" /> - - </android.support.design.widget.CoordinatorLayout> - - <android.support.design.widget.AppBarLayout + <android.support.v7.widget.RecyclerView + android:id="@+id/autocomplete_list" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="?attr/colorBackgroundCard"> + android:background="?colorBackgroundCard" + app:behavior_hideable="true" + app:behavior_peekHeight="@dimen/autocomplete_max_height" + app:layout_behavior="@string/bottom_sheet_behavior" + tools:listitem="@layout/widget_nick" /> - <de.kuschku.quasseldroid.ui.chat.input.RichToolbar - android:id="@+id/formatting_toolbar" - android:layout_width="match_parent" - android:layout_height="?attr/actionBarSize" - app:contentInsetStart="0dip" /> - </android.support.design.widget.AppBarLayout> - </LinearLayout> -</android.support.v4.widget.NestedScrollView> + </android.support.design.widget.CoordinatorLayout> + + <android.support.design.widget.AppBarLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="?attr/colorBackgroundCard"> + + <de.kuschku.quasseldroid.ui.chat.input.RichToolbar + android:id="@+id/formatting_toolbar" + android:layout_width="match_parent" + android:layout_height="?attr/actionBarSize" + app:contentInsetStart="0dip" /> + </android.support.design.widget.AppBarLayout> +</LinearLayout> diff --git a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/EditorViewModel.kt b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/EditorViewModel.kt index 00f17a98578b1171383b8e4ab4fecd0e3baeff2c..92d8566b5638e261dfb773507dc9dc2fa0932e4f 100644 --- a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/EditorViewModel.kt +++ b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/EditorViewModel.kt @@ -89,7 +89,7 @@ class EditorViewModel : ViewModel() { fun getAliases() = aliases.map { Observable.just(AutoCompleteItem.AliasItem( - it.name, + "/${it.name}", it.expansion )) } diff --git a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/data/AutoCompleteItem.kt b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/data/AutoCompleteItem.kt index c292aabad0a4d5eac923a2520600c902d25e851a..d2943ed4bc667822853409805160aa276c68e380 100644 --- a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/data/AutoCompleteItem.kt +++ b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/data/AutoCompleteItem.kt @@ -46,7 +46,7 @@ sealed class AutoCompleteItem(open val name: String, val suffix: String, private data class AliasItem( val alias: String, val expansion: String - ) : AutoCompleteItem("/$alias", " ", 1) + ) : AutoCompleteItem(alias, " ", 1) data class ChannelItem( val info: BufferInfo,