Skip to content

Commit 5e9fa9c

Browse files
author
Akos Kitta
committed
feat: pull/push cloud sketch from the tab toolbar
Closes #1899 Signed-off-by: Akos Kitta <[email protected]>
1 parent a64cdff commit 5e9fa9c

20 files changed

+316
-212
lines changed

Diff for: arduino-ide-extension/arduino-icons.json

+1-1
Large diffs are not rendered by default.

Diff for: arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -740,6 +740,7 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
740740
Contribution.configure(bind, ValidateSketch);
741741
Contribution.configure(bind, RenameCloudSketch);
742742
Contribution.configure(bind, Account);
743+
Contribution.configure(bind, CloudSketchbookContribution);
743744

744745
bindContributionProvider(bind, StartupTaskProvider);
745746
bind(StartupTaskProvider).toService(BoardsServiceProvider); // to reuse the boards config in another window
@@ -918,8 +919,6 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
918919
bind(CreateFsProvider).toSelf().inSingletonScope();
919920
bind(FrontendApplicationContribution).toService(CreateFsProvider);
920921
bind(FileServiceContribution).toService(CreateFsProvider);
921-
bind(CloudSketchbookContribution).toSelf().inSingletonScope();
922-
bind(CommandContribution).toService(CloudSketchbookContribution);
923922
bind(LocalCacheFsProvider).toSelf().inSingletonScope();
924923
bind(FileServiceContribution).toService(LocalCacheFsProvider);
925924
bind(CloudSketchbookCompositeWidget).toSelf();

Diff for: arduino-ide-extension/src/browser/create/create-features.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,10 @@ export class CreateFeatures implements FrontendApplicationContribution {
8383
);
8484
return undefined;
8585
}
86-
return dataDirUri.isEqualOrParent(new URI(sketch.uri));
86+
return dataDirUri
87+
.resolve('RemoteSketchbook')
88+
.resolve('ArduinoCloud')
89+
.isEqualOrParent(new URI(sketch.uri));
8790
}
8891

8992
cloudUri(sketch: Sketch): URI | undefined {

Diff for: arduino-ide-extension/src/browser/style/cloud-sketchbook.css

+7-52
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
.p-TabBar-tabIcon.cloud-sketchbook-tree-icon {
1717
background-color: var(--theia-foreground);
18-
-webkit-mask: url(../icons/cloud.svg);
18+
-webkit-mask: url(../icons/arduino-cloud.svg);
1919
-webkit-mask-position: center;
2020
-webkit-mask-repeat: no-repeat;
2121
width: 19px !important;
@@ -26,7 +26,7 @@
2626
.p-mod-current
2727
.cloud-sketchbook-tree-icon {
2828
background-color: var(--theia-foreground);
29-
-webkit-mask: url(../icons/cloud-filled.svg);
29+
-webkit-mask: url(../icons/arduino-cloud-filled.svg);
3030
-webkit-mask-position: center;
3131
-webkit-mask-repeat: no-repeat;
3232
-webkit-mask-size: 100%;
@@ -99,24 +99,6 @@
9999
color: var(--theia-textLink-foreground);
100100
}
101101

102-
.pull-sketch-icon {
103-
background-color: var(--theia-foreground);
104-
-webkit-mask: url(./pull-sketch-icon.svg);
105-
-webkit-mask-position: center;
106-
-webkit-mask-repeat: no-repeat;
107-
width: var(--theia-icon-size);
108-
height: var(--theia-icon-size);
109-
}
110-
111-
.push-sketch-icon {
112-
background-color: var(--theia-foreground);
113-
-webkit-mask: url(./push-sketch-icon.svg);
114-
-webkit-mask-position: center;
115-
-webkit-mask-repeat: no-repeat;
116-
width: var(--theia-icon-size);
117-
height: var(--theia-icon-size);
118-
}
119-
120102
.account-icon {
121103
width: var(--theia-private-sidebar-icon-size);
122104
height: var(--theia-private-sidebar-icon-size);
@@ -199,38 +181,11 @@
199181
width: 100%;
200182
}
201183

202-
.theia-file-icons-js.file-icon > .sketch-folder-icon {
203-
-webkit-mask-position: center;
204-
-webkit-mask-repeat: no-repeat;
205-
-webkit-mask-size: 100%;
206-
width: var(--theia-icon-size);
207-
height: var(--theia-icon-size);
208-
background-color: var(--theia-foreground);
209-
}
210-
211-
.theia-file-icons-js.file-icon > .sketch-folder-icon.cloud {
212-
-webkit-mask: url('../icons/cloud.svg');
213-
}
214-
215-
.theia-file-icons-js.file-icon > .sketch-folder-icon.cloud.offline {
216-
-webkit-mask: url('../icons/cloud-offline.svg');
217-
background-color: var(--theia-activityBar-inactiveForeground);
218-
}
219-
220-
.theia-file-icons-js.file-icon > .sketch-folder-icon.cloud.synced {
221-
-webkit-mask: url('../icons/cloud-filled.svg');
184+
.actions.item.flex-line .fa,
185+
.theia-file-icons-js.file-icon .fa {
186+
font-size: var(--theia-icon-size);
222187
}
223188

224-
.theia-TreeNodeContent > .theia-file-icons-js.file-icon > .sketch-folder-icon.cloud.synced.offline {
225-
-webkit-mask: url('../icons/cloud-filled-offline.svg');
226-
}
227-
228-
.sketch-folder-icon.cloud.offline.action {
229-
-webkit-mask: url('../icons/cloud-offline.svg');
230-
-webkit-mask-position: center;
231-
-webkit-mask-repeat: no-repeat;
232-
-webkit-mask-size: 100%;
233-
width: var(--theia-icon-size);
234-
height: var(--theia-icon-size);
235-
background-color: var(--theia-foreground);
189+
.theia-file-icons-js.file-icon.not-in-sync-offline .fa {
190+
color: var(--theia-activityBar-inactiveForeground);
236191
}

Diff for: arduino-ide-extension/src/browser/style/fonts.css

+21-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
@font-face {
77
font-family: 'FontAwesome';
88
src:
9-
url('fonts/FontAwesome.ttf?2jhpmq') format('truetype'),
10-
url('fonts/FontAwesome.woff?2jhpmq') format('woff'),
11-
url('fonts/FontAwesome.svg?2jhpmq#FontAwesome') format('svg');
9+
url('fonts/FontAwesome.ttf?h959em') format('truetype'),
10+
url('fonts/FontAwesome.woff?h959em') format('woff'),
11+
url('fonts/FontAwesome.svg?h959em#FontAwesome') format('svg');
1212
font-weight: normal;
1313
font-style: normal;
1414
font-display: block;
@@ -674,3 +674,21 @@
674674
.fa-microchip:before {
675675
content: "\f2db";
676676
}
677+
.fa-arduino-cloud-download:before {
678+
content: "\e910";
679+
}
680+
.fa-arduino-cloud-upload:before {
681+
content: "\e914";
682+
}
683+
.fa-arduino-cloud:before {
684+
content: "\e915";
685+
}
686+
.fa-arduino-cloud-filled:before {
687+
content: "\e912";
688+
}
689+
.fa-arduino-cloud-offline:before {
690+
content: "\e913";
691+
}
692+
.fa-arduino-cloud-filled-offline:before {
693+
content: "\e911";
694+
}

Diff for: arduino-ide-extension/src/browser/style/fonts/FontAwesome.svg

+6
Loading
2.18 KB
Binary file not shown.
2.18 KB
Binary file not shown.

Diff for: arduino-ide-extension/src/browser/style/main.css

+5-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777

7878
.arduino-upload-sketch--toolbar-icon {
7979
-webkit-mask: url(../icons/upload.svg) center no-repeat;
80-
background-color: var(--theia-titleBar-activeBackground);
80+
background-color: var(--theia-titleBar-activeBackground);
8181
}
8282

8383
.toggle-serial-monitor-icon {
@@ -114,6 +114,10 @@
114114
z-index: 0;
115115
}
116116

117+
.p-TabBar-toolbar .item > div {
118+
text-align: center;
119+
}
120+
117121
:root {
118122
--theia-private-menubar-height: 40px; /* set the topbar height */
119123
}

0 commit comments

Comments
 (0)