mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-14 17:12:07 +00:00
* Add OrcaCloud sync platform and preset bundle sharing system Introduce OrcaCloud, a cloud sync platform for user presets, alongside a preset bundle system that enables sharing printer/filament/process profiles as local exportable bundles or subscribed cloud bundles. OrcaCloud platform: - Auth to Orca Cloud - Encrypted token storage (file-based or system keychain) - User preset sync with - Profile migration from default/bambu folders on first login - Homepage integration with entrance to cloud.orcaslicer.com Preset bundles: - Local bundle import/export with bundle_structure.json metadata - Subscribed cloud bundles with version-based update checking - Thread-safe concurrent bundle access with read-write mutex - Canonical bundle preset naming (_local/<id>/... and _subscribed/<id>/...) - Bundle presets are read-only; grouped under subheaders in combo boxes - PresetBundleDialog with auto-sync toggle, refresh, update notifications - Hyperlinked bundle names to cloud bundle pages Co-authored-by: Sabriel Koh <sabrielkcr@gmail.com> Co-authored-by: Derrick <derrick992110@gmail.com> Co-authored-by: Mykola Nahirnyi <mnahirnyi@amcbridge.com> Co-authored-by: Ian Chua <iancrb00@gmail.com> Co-authored-by: Draginraptor <draginraptor@gmail.com> Co-authored-by: ExPikaPaka <112851715+ExPikaPaka@users.noreply.github.com> Co-authored-by: Ian Bassi <ian.bassi@outlook.com> Co-authored-by: Ocraftyone <Ocraftyone@users.noreply.github.com> Co-authored-by: yw4z <ywsyildiz@gmail.com> Co-authored-by: peterm-m <101202951+peterm-m@users.noreply.github.com> * Fixed an issue on Windows it failed to login Orca Cloud with Google account
174 lines
2.9 KiB
CSS
174 lines
2.9 KiB
CSS
*
|
|
{
|
|
padding: 0;
|
|
border: 0;
|
|
margin: 0;
|
|
font-family: "system-ui", "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-sans;
|
|
user-select: none;
|
|
}
|
|
|
|
html
|
|
{
|
|
height:100%;
|
|
background-color: #626262;
|
|
}
|
|
|
|
body
|
|
{
|
|
height:100%;
|
|
max-height: 660px;
|
|
max-width: 820px;
|
|
padding: 0;
|
|
border: 0;
|
|
margin: 0;
|
|
overflow: hidden;
|
|
background-color: #fff;
|
|
font-size: 14px;
|
|
line-height: 22px;
|
|
}
|
|
|
|
.TextPoint
|
|
{
|
|
font-size:1px;
|
|
}
|
|
|
|
.ZScrol::-webkit-scrollbar {/*滚动条整体样式*/
|
|
width: 12px; /*高宽分别对应横竖滚动条的尺寸*/
|
|
height: 12px;
|
|
padding: 2px;
|
|
}
|
|
|
|
.ZScrol::-webkit-scrollbar-thumb {/*滚动条里面小方块*/
|
|
border-radius: 6px;
|
|
-webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
|
|
box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
|
|
background-color: #AAAAAA;
|
|
}
|
|
|
|
.ZScrol::-webkit-scrollbar-track {/*滚动条里面轨道*/
|
|
-webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
|
|
box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
|
|
border-radius: 10px;
|
|
background: #EDEDED;
|
|
}
|
|
|
|
/*----Three Part----*/
|
|
body
|
|
{
|
|
display:flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
|
|
#Title
|
|
{
|
|
height: 12%;
|
|
display: flex;
|
|
text-align: center;
|
|
flex-direction:column;
|
|
justify-content: center;
|
|
}
|
|
|
|
#Title div
|
|
{
|
|
font-size:28px;
|
|
line-height: 28px;
|
|
color: #009688;
|
|
padding: 0px 10mm;
|
|
}
|
|
|
|
|
|
#Content
|
|
{
|
|
height: 76%;
|
|
padding: 20px 40px;
|
|
overflow-x: hidden;
|
|
overflow-y: auto;
|
|
text-align: left;
|
|
font-size: 14px;
|
|
line-height: 22px;
|
|
color: #464646;
|
|
position: relative;
|
|
display:flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
#Content div
|
|
{
|
|
|
|
}
|
|
|
|
|
|
#AcceptArea
|
|
{
|
|
height:var(--dialog-button-sizer-height); /*----ORCA Use fixed size to prevent position change----*/
|
|
max-height:var(--dialog-button-sizer-height);
|
|
min-height:var(--dialog-button-sizer-height);
|
|
padding: 0 var(--dialog-button-gap);
|
|
text-align: left;
|
|
display: flex;
|
|
justify-content:flex-end;
|
|
align-items: center;
|
|
}
|
|
|
|
/*---HyperLink---*/
|
|
.HyperLink
|
|
{
|
|
color: #009688;
|
|
text-decoration: underline;
|
|
font-weight: 700;
|
|
cursor: pointer;
|
|
}
|
|
|
|
/*---Checkboxes ORCA ---*/
|
|
label:has(input[type="checkbox"]){
|
|
margin:0;
|
|
padding: 0;
|
|
margin-right: 20px;
|
|
}
|
|
|
|
label:has(input[type="checkbox"])>span{
|
|
vertical-align: middle;
|
|
margin:0;
|
|
}
|
|
|
|
input[type="checkbox"] {
|
|
-webkit-appearance: none;
|
|
appearance: none;
|
|
background-color:#FFFFFF;
|
|
margin:0;
|
|
margin-right: 6px;
|
|
width: 1em;
|
|
height: 1em;
|
|
border: 0.1em solid #DBDBDB;
|
|
border-radius: 0.15em;
|
|
display: inline-flex;
|
|
place-content: center;
|
|
background-color:#FFFFFF;
|
|
}
|
|
|
|
input[type="checkbox"]::before {
|
|
content: "";
|
|
width: 0.8em;
|
|
height: 0.8em;
|
|
transform: scale(0);
|
|
box-shadow: inset 1em 1em #FFFFFF;
|
|
clip-path: polygon(7% 37%, 0 45%, 33% 78%, 100% 30%, 95% 21%, 33% 64%);
|
|
}
|
|
|
|
input[type="checkbox"]:checked {
|
|
border-color:#009688;
|
|
background-color:#009688;
|
|
}
|
|
|
|
input[type="checkbox"]:checked::before {
|
|
transform: scale(1);
|
|
}
|
|
|
|
/*----------------Light Mode-------------------*/
|
|
|
|
|
|
|
|
|
|
|