Skip to content

Commit

Permalink
Update Compose to 1.7.1
Browse files Browse the repository at this point in the history
  • Loading branch information
russellbanks committed Dec 18, 2024
1 parent f89cfce commit c92d678
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 31 deletions.
4 changes: 2 additions & 2 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[versions]
aurora = "2.0-20231104.160413-6"
aurora = "2.0-20241117.023511-7"
buildconfig = "5.5.0"
compose = "1.6.11"
compose = "1.7.1"
coroutines = "1.9.0"
cryptohash = "1.0.2"
detekt = "1.23.7"
Expand Down
4 changes: 2 additions & 2 deletions src/main/kotlin/components/HashProgress.kt
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import org.pushingpixels.aurora.component.model.DeterminateProgressContentModel
import org.pushingpixels.aurora.component.model.HorizontalAlignment
import org.pushingpixels.aurora.component.model.LabelContentModel
import org.pushingpixels.aurora.component.model.LabelPresentationModel
import org.pushingpixels.aurora.component.model.ProgressDeterminateContentModel
import org.pushingpixels.aurora.component.projection.DeterminateLinearProgressProjection
import org.pushingpixels.aurora.component.projection.LabelProjection

Expand All @@ -58,7 +58,7 @@ fun HashProgress(fileHashProgress: Float, timer: Timer?) {
}
}
DeterminateLinearProgressProjection(
contentModel = ProgressDeterminateContentModel(progress = fileHashProgress)
contentModel = DeterminateProgressContentModel(progress = fileHashProgress)
).project(Modifier.fillMaxWidth())
}
}
55 changes: 37 additions & 18 deletions src/main/kotlin/components/screens/compare/CompareFilesTab.kt
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
package components.screens.compare

import androidx.compose.animation.AnimatedVisibility
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.background
import androidx.compose.foundation.border
import androidx.compose.foundation.draganddrop.dragAndDropTarget
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
Expand All @@ -34,9 +36,13 @@ import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.DragData
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
import androidx.compose.ui.draganddrop.DragAndDropEvent
import androidx.compose.ui.draganddrop.DragAndDropTarget
import androidx.compose.ui.draganddrop.DragData
import androidx.compose.ui.draganddrop.awtTransferable
import androidx.compose.ui.draganddrop.dragData
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.onExternalDrag
import androidx.compose.ui.text.TextStyle
Expand All @@ -45,6 +51,7 @@ import androidx.compose.ui.unit.sp
import cafe.adriel.voyager.navigator.tab.Tab
import cafe.adriel.voyager.navigator.tab.TabOptions
import helper.Icons
import java.awt.datatransfer.DataFlavor
import java.io.File
import java.net.URI
import org.pushingpixels.aurora.component.model.Command
Expand All @@ -68,7 +75,7 @@ object CompareFilesTab : Tab {
)
}

@OptIn(ExperimentalComposeUiApi::class)
@OptIn(ExperimentalComposeUiApi::class, ExperimentalFoundationApi::class)
@Composable
override fun Content() {
val backgroundColorScheme = AuroraSkin.colors.getBackgroundColorScheme(
Expand All @@ -86,29 +93,41 @@ object CompareFilesTab : Tab {
CompareFilesModel.FileComparisonColumn(
modifier = Modifier
.fillMaxWidth(0.5f)
.onExternalDrag { externalDragValue ->
val dragData = externalDragValue.dragData
if (dragData is DragData.FilesList) {
CompareFilesModel.setDroppedFile(
fileComparison = CompareFilesModel.FileComparison.One,
file = File(URI(dragData.readFiles().first()))
)
.dragAndDropTarget(
shouldStartDragAndDrop = { event ->
event.awtTransferable.isDataFlavorSupported(DataFlavor.javaFileListFlavor)
},
target = object : DragAndDropTarget {
override fun onDrop(event: DragAndDropEvent): Boolean {
val files = event.awtTransferable.getTransferData(DataFlavor.javaFileListFlavor) as List<File>
CompareFilesModel.setDroppedFile(
fileComparison = CompareFilesModel.FileComparison.One,
file = files.first()
)
return true
}
}
},
),
fileComparison = CompareFilesModel.FileComparison.One
)
CompareFilesModel.FileComparisonColumn(
modifier = Modifier
.fillMaxWidth()
.onExternalDrag { externalDragValue ->
val dragData = externalDragValue.dragData
if (dragData is DragData.FilesList) {
CompareFilesModel.setDroppedFile(
fileComparison = CompareFilesModel.FileComparison.Two,
file = File(URI(dragData.readFiles().first()))
)
.dragAndDropTarget(
shouldStartDragAndDrop = { event ->
event.awtTransferable.isDataFlavorSupported(DataFlavor.javaFileListFlavor)
},
target = object : DragAndDropTarget {
override fun onDrop(event: DragAndDropEvent): Boolean {
val files = event.awtTransferable.getTransferData(DataFlavor.javaFileListFlavor) as List<File>
CompareFilesModel.setDroppedFile(
fileComparison = CompareFilesModel.FileComparison.Two,
file = files.first()
)
return true
}
}
},
),
fileComparison = CompareFilesModel.FileComparison.Two
)
}
Expand Down
27 changes: 18 additions & 9 deletions src/main/kotlin/components/screens/file/FileTab.kt
Original file line number Diff line number Diff line change
Expand Up @@ -20,20 +20,23 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.

package components.screens.file

import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.background
import androidx.compose.foundation.border
import androidx.compose.foundation.draganddrop.dragAndDropTarget
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.DragData
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
import androidx.compose.ui.draganddrop.DragAndDropEvent
import androidx.compose.ui.draganddrop.DragAndDropTarget
import androidx.compose.ui.draganddrop.awtTransferable
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.onExternalDrag
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.unit.dp
Expand All @@ -45,8 +48,8 @@ import components.ElapsedTimeResults
import components.HashProgress
import components.OutputTextFieldRow
import components.screens.ParentComponent
import java.awt.datatransfer.DataFlavor
import java.io.File
import java.net.URI
import org.pushingpixels.aurora.component.model.LabelContentModel
import org.pushingpixels.aurora.component.model.LabelPresentationModel
import org.pushingpixels.aurora.component.projection.HorizontalSeparatorProjection
Expand All @@ -65,7 +68,7 @@ object FileTab : Tab {
)
}

@OptIn(ExperimentalComposeUiApi::class)
@OptIn(ExperimentalComposeUiApi::class, ExperimentalFoundationApi::class)
@Composable
override fun Content() {
val backgroundColorScheme = AuroraSkin.colors.getBackgroundColorScheme(
Expand All @@ -76,12 +79,18 @@ object FileTab : Tab {
.padding(16.dp)
.border(1.dp, Color.Gray, RoundedCornerShape(6.dp))
.padding(start = 16.dp, top = 24.dp, end = 16.dp, bottom = 16.dp)
.onExternalDrag { externalDragValue ->
val dragData = externalDragValue.dragData
if (dragData is DragData.FilesList) {
FileScreenModel.setComponentFile(File(URI(dragData.readFiles().first())))
.dragAndDropTarget(
shouldStartDragAndDrop = { event ->
event.awtTransferable.isDataFlavorSupported(DataFlavor.javaFileListFlavor)
},
target = object : DragAndDropTarget {
override fun onDrop(event: DragAndDropEvent): Boolean {
val files = event.awtTransferable.getTransferData(DataFlavor.javaFileListFlavor) as List<File>
FileScreenModel.setComponentFile(files.first())
return true
}
}
},
),
verticalArrangement = Arrangement.spacedBy(10.dp)
) {
SelectFileRow(FileScreenModel::selectFile)
Expand Down

0 comments on commit c92d678

Please sign in to comment.