Added hand icon on hover where it's intended to be
This commit is contained in:
parent
eca68aaf07
commit
60a1ef21d8
@ -16,6 +16,8 @@ import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.alpha
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.input.pointer.PointerIconDefaults
|
||||
import androidx.compose.ui.input.pointer.pointerHoverIcon
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.unit.DpSize
|
||||
import androidx.compose.ui.unit.dp
|
||||
@ -204,7 +206,8 @@ class App {
|
||||
IconButton(
|
||||
modifier = Modifier
|
||||
.padding(horizontal = 8.dp)
|
||||
.size(24.dp),
|
||||
.size(24.dp)
|
||||
.pointerHoverIcon(PointerIconDefaults.Hand),
|
||||
onClick = onOpenSettings
|
||||
) {
|
||||
Icon(
|
||||
|
@ -1,8 +1,12 @@
|
||||
package app.extensions
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.input.pointer.PointerIconDefaults
|
||||
import androidx.compose.ui.input.pointer.pointerHoverIcon
|
||||
|
||||
fun Modifier.backgroundIf(condition: Boolean, color: Color): Modifier {
|
||||
return if (condition) {
|
||||
@ -10,4 +14,10 @@ fun Modifier.backgroundIf(condition: Boolean, color: Color): Modifier {
|
||||
} else {
|
||||
this
|
||||
}
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalComposeUiApi::class)
|
||||
fun Modifier.handMouseClickable(onClick: () -> Unit): Modifier {
|
||||
return this.clickable { onClick() }
|
||||
.pointerHoverIcon(PointerIconDefaults.Hand)
|
||||
}
|
@ -1,3 +1,5 @@
|
||||
@file:OptIn(ExperimentalComposeUiApi::class)
|
||||
|
||||
package app.ui
|
||||
|
||||
import androidx.compose.foundation.Image
|
||||
@ -10,12 +12,16 @@ import androidx.compose.material.MaterialTheme
|
||||
import androidx.compose.material.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.ColorFilter
|
||||
import androidx.compose.ui.input.pointer.PointerIconDefaults
|
||||
import androidx.compose.ui.input.pointer.pointerHoverIcon
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.text.font.FontFamily
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import app.extensions.handMouseClickable
|
||||
import app.extensions.lineAt
|
||||
import app.theme.primaryTextColor
|
||||
import app.ui.components.PrimaryButton
|
||||
@ -52,7 +58,7 @@ fun Blame(
|
||||
.width(200.dp)
|
||||
.fillMaxHeight()
|
||||
.background(MaterialTheme.colors.surface)
|
||||
.clickable { onSelectCommit(commit) },
|
||||
.handMouseClickable { onSelectCommit(commit) },
|
||||
verticalArrangement = Arrangement.Center,
|
||||
) {
|
||||
Text(
|
||||
@ -125,6 +131,7 @@ fun MinimizedBlame(
|
||||
IconButton(
|
||||
onClick = onClose,
|
||||
modifier = Modifier.padding(horizontal = 16.dp)
|
||||
.pointerHoverIcon(PointerIconDefaults.Hand)
|
||||
) {
|
||||
Image(
|
||||
painter = painterResource("close.svg"),
|
||||
@ -158,7 +165,9 @@ private fun Header(
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
|
||||
IconButton(
|
||||
onClick = onClose
|
||||
onClick = onClose,
|
||||
modifier = Modifier
|
||||
.pointerHoverIcon(PointerIconDefaults.Hand)
|
||||
) {
|
||||
Image(
|
||||
painter = painterResource("close.svg"),
|
||||
|
@ -210,7 +210,7 @@ fun CommitLogChanges(
|
||||
modifier = Modifier
|
||||
.height(40.dp)
|
||||
.fillMaxWidth()
|
||||
.clickable {
|
||||
.handMouseClickable {
|
||||
onDiffSelected(diffEntry)
|
||||
}
|
||||
.backgroundIf(
|
||||
|
@ -1,3 +1,5 @@
|
||||
@file:OptIn(ExperimentalComposeUiApi::class)
|
||||
|
||||
package app.ui
|
||||
|
||||
import androidx.compose.foundation.Image
|
||||
@ -14,9 +16,12 @@ import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.collectAsState
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.ColorFilter
|
||||
import androidx.compose.ui.input.pointer.PointerIconDefaults
|
||||
import androidx.compose.ui.input.pointer.pointerHoverIcon
|
||||
import androidx.compose.ui.res.loadImageBitmap
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.text.font.FontFamily
|
||||
@ -326,7 +331,9 @@ fun DiffHeader(
|
||||
}
|
||||
|
||||
IconButton(
|
||||
onClick = onCloseDiffView
|
||||
onClick = onCloseDiffView,
|
||||
modifier = Modifier
|
||||
.pointerHoverIcon(PointerIconDefaults.Hand)
|
||||
) {
|
||||
Image(
|
||||
painter = painterResource("close.svg"),
|
||||
|
@ -17,9 +17,12 @@ import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.ColorFilter
|
||||
import androidx.compose.ui.graphics.painter.Painter
|
||||
import androidx.compose.ui.input.pointer.PointerIconDefaults
|
||||
import androidx.compose.ui.input.pointer.pointerHoverIcon
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import app.extensions.handMouseClickable
|
||||
import app.theme.primaryTextColor
|
||||
import app.ui.context_menu.*
|
||||
import app.viewmodels.MenuViewModel
|
||||
@ -106,7 +109,8 @@ fun Menu(
|
||||
|
||||
Box {
|
||||
IconMenuButton(
|
||||
modifier = Modifier.padding(end = 8.dp),
|
||||
modifier = Modifier
|
||||
.padding(end = 8.dp),
|
||||
icon = painterResource("more_vert.svg"),
|
||||
onClick = {
|
||||
showAdditionalOptionsDropDownMenu = true
|
||||
@ -151,7 +155,7 @@ fun MenuButton(
|
||||
Box(
|
||||
modifier = modifier
|
||||
.padding(horizontal = 2.dp)
|
||||
.clickable { if (enabled) onClick() }
|
||||
.handMouseClickable { if (enabled) onClick() }
|
||||
.border(ButtonDefaults.outlinedBorder, RoundedCornerShape(3.dp))
|
||||
.padding(vertical = 8.dp, horizontal = 16.dp),
|
||||
) {
|
||||
@ -196,7 +200,7 @@ fun ExtendedMenuButton(
|
||||
Row(modifier = Modifier.height(IntrinsicSize.Min)) {
|
||||
Box(
|
||||
modifier = modifier
|
||||
.clickable { if (enabled) onClick() }
|
||||
.handMouseClickable { if (enabled) onClick() }
|
||||
.border(ButtonDefaults.outlinedBorder, RoundedCornerShape(topStart = 3.dp, bottomStart = 3.dp))
|
||||
.padding(vertical = 8.dp, horizontal = 16.dp),
|
||||
) {
|
||||
@ -226,7 +230,7 @@ fun ExtendedMenuButton(
|
||||
.width(20.dp)
|
||||
.fillMaxHeight()
|
||||
.border(ButtonDefaults.outlinedBorder, RoundedCornerShape(topEnd = 3.dp, bottomEnd = 3.dp))
|
||||
.clickable {
|
||||
.handMouseClickable {
|
||||
showDropDownMenu = true
|
||||
},
|
||||
contentAlignment = Alignment.Center,
|
||||
@ -266,7 +270,8 @@ fun IconMenuButton(
|
||||
}
|
||||
|
||||
IconButton(
|
||||
modifier = modifier,
|
||||
modifier = modifier
|
||||
.pointerHoverIcon(PointerIconDefaults.Hand),
|
||||
enabled = enabled,
|
||||
onClick = onClick,
|
||||
) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
@file:OptIn(ExperimentalFoundationApi::class)
|
||||
@file:OptIn(ExperimentalFoundationApi::class, ExperimentalComposeUiApi::class)
|
||||
|
||||
package app.ui
|
||||
|
||||
@ -12,7 +12,10 @@ import androidx.compose.material.Icon
|
||||
import androidx.compose.material.IconButton
|
||||
import androidx.compose.material.MaterialTheme
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.input.pointer.PointerIconDefaults
|
||||
import androidx.compose.ui.input.pointer.pointerHoverIcon
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import app.extensions.simpleName
|
||||
@ -69,7 +72,8 @@ fun Remotes(
|
||||
onClick = { showEditRemotesDialog = true },
|
||||
modifier = Modifier
|
||||
.padding(end = 8.dp)
|
||||
.size(16.dp),
|
||||
.size(16.dp)
|
||||
.pointerHoverIcon(PointerIconDefaults.Hand),
|
||||
) {
|
||||
Icon(
|
||||
painter = painterResource("settings.svg"),
|
||||
|
@ -31,10 +31,7 @@ import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import app.extensions.backgroundIf
|
||||
import app.extensions.fileName
|
||||
import app.extensions.isMerging
|
||||
import app.extensions.parentDirectoryPath
|
||||
import app.extensions.*
|
||||
import app.git.DiffEntryType
|
||||
import app.git.StatusEntry
|
||||
import app.theme.*
|
||||
@ -238,7 +235,7 @@ fun UncommitedChangesButtons(
|
||||
.height(40.dp)
|
||||
.clip(MaterialTheme.shapes.small.copy(topStart = CornerSize(0.dp), bottomStart = CornerSize(0.dp)))
|
||||
.background(MaterialTheme.colors.confirmationButton)
|
||||
.clickable { showDropDownMenu = true }
|
||||
.handMouseClickable { showDropDownMenu = true }
|
||||
) {
|
||||
Icon(
|
||||
Icons.Default.ArrowDropDown,
|
||||
@ -467,7 +464,7 @@ private fun FileEntry(
|
||||
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.clickable { onClick() }
|
||||
.handMouseClickable { onClick() }
|
||||
.fillMaxWidth()
|
||||
.pointerMoveFilter(
|
||||
onEnter = {
|
||||
|
@ -9,6 +9,7 @@ import androidx.compose.runtime.MutableState
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.Modifier
|
||||
import app.extensions.handMouseClickable
|
||||
|
||||
@OptIn(ExperimentalAnimationApi::class)
|
||||
@Composable
|
||||
@ -20,7 +21,7 @@ fun VerticalExpandable(
|
||||
) {
|
||||
Column {
|
||||
Box(
|
||||
modifier = Modifier.clickable {
|
||||
modifier = Modifier.handMouseClickable {
|
||||
onExpand()
|
||||
}
|
||||
) {
|
||||
|
@ -1,3 +1,5 @@
|
||||
@file:OptIn(ExperimentalComposeUiApi::class)
|
||||
|
||||
package app.ui.components
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
@ -13,15 +15,19 @@ import androidx.compose.material.icons.filled.Add
|
||||
import androidx.compose.material.icons.filled.Close
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.draw.shadow
|
||||
import androidx.compose.ui.input.pointer.PointerIconDefaults
|
||||
import androidx.compose.ui.input.pointer.pointerHoverIcon
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import app.AppStateManager
|
||||
import app.di.AppComponent
|
||||
import app.di.DaggerTabComponent
|
||||
import app.extensions.handMouseClickable
|
||||
import app.theme.primaryTextColor
|
||||
import app.theme.tabColorActive
|
||||
import app.theme.tabColorInactive
|
||||
@ -113,7 +119,8 @@ fun TabPanel(
|
||||
IconButton(
|
||||
onClick = onNewTabClicked,
|
||||
modifier = Modifier
|
||||
.size(36.dp),
|
||||
.size(36.dp)
|
||||
.pointerHoverIcon(PointerIconDefaults.Hand),
|
||||
) {
|
||||
Icon(
|
||||
imageVector = Icons.Default.Add,
|
||||
@ -144,7 +151,7 @@ fun Tab(title: MutableState<String>, selected: Boolean, onClick: () -> Unit, onC
|
||||
.shadow(elevation = elevation)
|
||||
.padding(start = 2.dp, end = 2.dp, top = 2.dp)
|
||||
.clip(RoundedCornerShape(topStart = 8.dp, topEnd = 8.dp))
|
||||
.clickable { onClick() }
|
||||
.handMouseClickable { onClick() }
|
||||
.background(backgroundColor),
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
|
@ -12,6 +12,7 @@ import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import app.extensions.handMouseClickable
|
||||
|
||||
@Composable
|
||||
fun SecondaryButton(
|
||||
@ -26,7 +27,7 @@ fun SecondaryButton(
|
||||
.padding(horizontal = 16.dp)
|
||||
.clip(RoundedCornerShape(5.dp))
|
||||
.background(backgroundButton)
|
||||
.clickable { onClick() },
|
||||
.handMouseClickable { onClick() },
|
||||
) {
|
||||
Text(
|
||||
text = text,
|
||||
|
@ -10,6 +10,7 @@ import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.Modifier
|
||||
import app.extensions.handMouseClickable
|
||||
import app.extensions.openUrlInBrowser
|
||||
import app.theme.primaryTextColor
|
||||
|
||||
@ -33,7 +34,7 @@ fun TextLink(
|
||||
text = text,
|
||||
modifier = Modifier
|
||||
.hoverable(hoverInteraction)
|
||||
.clickable {
|
||||
.handMouseClickable {
|
||||
openUrlInBrowser(url)
|
||||
}
|
||||
.then(modifier),
|
||||
|
@ -14,9 +14,12 @@ import androidx.compose.runtime.*
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.input.pointer.PointerIconDefaults
|
||||
import androidx.compose.ui.input.pointer.pointerHoverIcon
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.text.TextStyle
|
||||
import androidx.compose.ui.unit.dp
|
||||
import app.extensions.handMouseClickable
|
||||
import app.theme.borderColor
|
||||
import app.theme.primaryTextColor
|
||||
import app.theme.secondaryTextColor
|
||||
@ -89,6 +92,8 @@ fun EditRemotesDialog(
|
||||
|
||||
IconButton(
|
||||
onClick = onDismiss,
|
||||
modifier = Modifier
|
||||
.pointerHoverIcon(PointerIconDefaults.Hand)
|
||||
) {
|
||||
Icon(
|
||||
imageVector = Icons.Default.Clear,
|
||||
@ -126,7 +131,7 @@ fun EditRemotesDialog(
|
||||
color = MaterialTheme.colors.primaryTextColor,
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.clickable {
|
||||
.handMouseClickable {
|
||||
remotesEditorData = remotesEditorData.copy(selectedRemote = remote)
|
||||
}
|
||||
.background(background)
|
||||
@ -141,7 +146,8 @@ fun EditRemotesDialog(
|
||||
.background(MaterialTheme.colors.background)
|
||||
) {
|
||||
IconButton(
|
||||
modifier = Modifier.size(36.dp),
|
||||
modifier = Modifier.size(36.dp)
|
||||
.pointerHoverIcon(PointerIconDefaults.Hand),
|
||||
onClick = {
|
||||
val remotesWithNew = remotesEditorData.listRemotes.toMutableList()
|
||||
val newRemote = RemoteWrapper(
|
||||
@ -168,7 +174,8 @@ fun EditRemotesDialog(
|
||||
)
|
||||
}
|
||||
IconButton(
|
||||
modifier = Modifier.size(36.dp),
|
||||
modifier = Modifier.size(36.dp)
|
||||
.pointerHoverIcon(PointerIconDefaults.Hand),
|
||||
enabled = selectedRemote != null,
|
||||
onClick = {
|
||||
if (selectedRemote != null)
|
||||
|
@ -13,6 +13,7 @@ import androidx.compose.runtime.*
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.input.pointer.isPrimaryPressed
|
||||
import androidx.compose.ui.input.pointer.pointerHoverIcon
|
||||
import androidx.compose.ui.unit.dp
|
||||
import app.git.ResetType
|
||||
import app.theme.primaryTextColor
|
||||
|
@ -524,7 +524,8 @@ fun GraphHeader(
|
||||
)
|
||||
|
||||
IconButton(
|
||||
modifier = Modifier.padding(end = 8.dp),
|
||||
modifier = Modifier.padding(end = 8.dp)
|
||||
.pointerHoverIcon(PointerIconDefaults.Hand),
|
||||
onClick = onShowSearch
|
||||
) {
|
||||
Icon(
|
||||
@ -1022,9 +1023,12 @@ fun RefChip(
|
||||
endingContent: @Composable () -> Unit = {},
|
||||
) {
|
||||
Box(
|
||||
modifier = Modifier.padding(horizontal = 4.dp).clip(RoundedCornerShape(16.dp))
|
||||
modifier = Modifier
|
||||
.padding(horizontal = 4.dp)
|
||||
.clip(RoundedCornerShape(16.dp))
|
||||
.border(width = 2.dp, color = color, shape = RoundedCornerShape(16.dp))
|
||||
.combinedClickable(onDoubleClick = onCheckoutRef, onClick = {})
|
||||
.pointerHoverIcon(PointerIconDefaults.Hand)
|
||||
) {
|
||||
ContextMenuArea(
|
||||
items = contextMenuItemsList
|
||||
|
Loading…
Reference in New Issue
Block a user