merger: no idea what this does, but make it cross-platform.
parent
5b4339e429
commit
059b6c7a1a
|
@ -1,8 +1,7 @@
|
|||
USING: accessors arrays fry io.directories kernel
|
||||
models sequences sets ui
|
||||
ui.gadgets ui.gadgets.buttons ui.gadgets.labeled
|
||||
ui.gadgets.tracks ui.gadgets.labels ui.gadgets.glass
|
||||
math.rectangles cocoa.dialogs ;
|
||||
USING: accessors arrays file-picker fry io.directories kernel
|
||||
math.rectangles models sequences sets ui ui.gadgets
|
||||
ui.gadgets.buttons ui.gadgets.glass ui.gadgets.labeled
|
||||
ui.gadgets.labels ui.gadgets.tracks ;
|
||||
IN: merger
|
||||
|
||||
MAIN-WINDOW: merger-window {
|
||||
|
@ -12,22 +11,27 @@ MAIN-WINDOW: merger-window {
|
|||
vertical <track>
|
||||
{ "From:" "To:" } f <model> f <model> 2array
|
||||
[
|
||||
[
|
||||
"…" [
|
||||
open-panel [ first
|
||||
[ <label> 1array >>children drop ]
|
||||
[ swap set-control-value ] 2bi ] [ drop ] if*
|
||||
] <border-button> swap >>model swap <labeled-gadget>
|
||||
1 track-add
|
||||
] 2each
|
||||
[
|
||||
"…" [
|
||||
open-file-dialog [
|
||||
first
|
||||
[ <label> 1array >>children drop ]
|
||||
[ swap set-control-value ] 2bi
|
||||
] [ drop ] if*
|
||||
] <border-button> swap >>model swap <labeled-gadget>
|
||||
1 track-add
|
||||
] 2each
|
||||
] keep
|
||||
dup first2
|
||||
'[ _ [ value>> ] all? [ parent>> "processing..." <label> [
|
||||
<zero-rect> show-glass
|
||||
_ value>> [
|
||||
"." _ value>> [ [ directory-files ] bi@ diff ] keep copy-files-into
|
||||
] with-directory
|
||||
] keep hide-glass
|
||||
] [ drop ] if ]
|
||||
"merge" swap <border-button> 0.4 track-add
|
||||
'[
|
||||
_ [ value>> ] all? [
|
||||
parent>> "processing..." <label> [
|
||||
<zero-rect> show-glass
|
||||
_ value>> [
|
||||
"." _ value>>
|
||||
[ [ directory-files ] bi@ diff ] keep copy-files-into
|
||||
] with-directory
|
||||
] keep hide-glass
|
||||
] [ drop ] if
|
||||
] "merge" swap <border-button> 0.4 track-add
|
||||
>>gadgets ;
|
||||
|
|
Loading…
Reference in New Issue