|
@ -1715,6 +1715,9 @@ XsheetViewer {
|
||||||
qproperty-MeshColumnColor: #684D86;
|
qproperty-MeshColumnColor: #684D86;
|
||||||
qproperty-MeshColumnBorderColor: #BA92EF;
|
qproperty-MeshColumnBorderColor: #BA92EF;
|
||||||
qproperty-SelectedMeshColumnColor: #82689e;
|
qproperty-SelectedMeshColumnColor: #82689e;
|
||||||
|
qproperty-SoundTextColumnColor: #c8c8c8;
|
||||||
|
qproperty-SoundTextColumnBorderColor: #8c8c8c;
|
||||||
|
qproperty-SelectedSoundTextColumnColor: #e2e2e2;
|
||||||
qproperty-SoundColumnColor: #657456;
|
qproperty-SoundColumnColor: #657456;
|
||||||
qproperty-SoundColumnBorderColor: #A0AF7D;
|
qproperty-SoundColumnBorderColor: #A0AF7D;
|
||||||
qproperty-SelectedSoundColumnColor: #7e8b72;
|
qproperty-SelectedSoundColumnColor: #7e8b72;
|
||||||
|
@ -1759,8 +1762,11 @@ XsheetViewer {
|
||||||
qproperty-TimelineConfigButtonBgColor: rgba(255, 255, 255, 0);
|
qproperty-TimelineConfigButtonBgColor: rgba(255, 255, 255, 0);
|
||||||
qproperty-TimelineConfigButtonImage: url('../Default/imgs/white/timeline_config.svg');
|
qproperty-TimelineConfigButtonImage: url('../Default/imgs/white/timeline_config.svg');
|
||||||
qproperty-LayerHeaderPreviewImage: url('../Default/imgs/white/layer_header_prev_eye.svg');
|
qproperty-LayerHeaderPreviewImage: url('../Default/imgs/white/layer_header_prev_eye.svg');
|
||||||
|
qproperty-LayerHeaderPreviewOverImage: url('../Default/imgs/white/layer_header_prev_eye_over.svg');
|
||||||
qproperty-LayerHeaderCamstandImage: url('../Default/imgs/white/layer_header_table_view.svg');
|
qproperty-LayerHeaderCamstandImage: url('../Default/imgs/white/layer_header_table_view.svg');
|
||||||
|
qproperty-LayerHeaderCamstandOverImage: url('../Default/imgs/white/layer_header_table_view_over.svg');
|
||||||
qproperty-LayerHeaderLockImage: url('../Default/imgs/white/lock_on.svg');
|
qproperty-LayerHeaderLockImage: url('../Default/imgs/white/lock_on.svg');
|
||||||
|
qproperty-LayerHeaderLockOverImage: url('../Default/imgs/white/lock_on_over.svg');
|
||||||
}
|
}
|
||||||
/* XSheet Toolbar
|
/* XSheet Toolbar
|
||||||
----------------------------------------------------------------------------- */
|
----------------------------------------------------------------------------- */
|
||||||
|
|
|
@ -1715,6 +1715,9 @@ XsheetViewer {
|
||||||
qproperty-MeshColumnColor: #684D86;
|
qproperty-MeshColumnColor: #684D86;
|
||||||
qproperty-MeshColumnBorderColor: #BA92EF;
|
qproperty-MeshColumnBorderColor: #BA92EF;
|
||||||
qproperty-SelectedMeshColumnColor: #82689e;
|
qproperty-SelectedMeshColumnColor: #82689e;
|
||||||
|
qproperty-SoundTextColumnColor: #c8c8c8;
|
||||||
|
qproperty-SoundTextColumnBorderColor: #8c8c8c;
|
||||||
|
qproperty-SelectedSoundTextColumnColor: #e2e2e2;
|
||||||
qproperty-SoundColumnColor: #657456;
|
qproperty-SoundColumnColor: #657456;
|
||||||
qproperty-SoundColumnBorderColor: #A0AF7D;
|
qproperty-SoundColumnBorderColor: #A0AF7D;
|
||||||
qproperty-SelectedSoundColumnColor: #7e8b72;
|
qproperty-SelectedSoundColumnColor: #7e8b72;
|
||||||
|
@ -1759,8 +1762,11 @@ XsheetViewer {
|
||||||
qproperty-TimelineConfigButtonBgColor: rgba(255, 255, 255, 0);
|
qproperty-TimelineConfigButtonBgColor: rgba(255, 255, 255, 0);
|
||||||
qproperty-TimelineConfigButtonImage: url('../Default/imgs/white/timeline_config.svg');
|
qproperty-TimelineConfigButtonImage: url('../Default/imgs/white/timeline_config.svg');
|
||||||
qproperty-LayerHeaderPreviewImage: url('../Default/imgs/white/layer_header_prev_eye.svg');
|
qproperty-LayerHeaderPreviewImage: url('../Default/imgs/white/layer_header_prev_eye.svg');
|
||||||
|
qproperty-LayerHeaderPreviewOverImage: url('../Default/imgs/white/layer_header_prev_eye_over.svg');
|
||||||
qproperty-LayerHeaderCamstandImage: url('../Default/imgs/white/layer_header_table_view.svg');
|
qproperty-LayerHeaderCamstandImage: url('../Default/imgs/white/layer_header_table_view.svg');
|
||||||
|
qproperty-LayerHeaderCamstandOverImage: url('../Default/imgs/white/layer_header_table_view_over.svg');
|
||||||
qproperty-LayerHeaderLockImage: url('../Default/imgs/white/lock_on.svg');
|
qproperty-LayerHeaderLockImage: url('../Default/imgs/white/lock_on.svg');
|
||||||
|
qproperty-LayerHeaderLockOverImage: url('../Default/imgs/white/lock_on_over.svg');
|
||||||
}
|
}
|
||||||
/* XSheet Toolbar
|
/* XSheet Toolbar
|
||||||
----------------------------------------------------------------------------- */
|
----------------------------------------------------------------------------- */
|
||||||
|
|
|
@ -1715,6 +1715,9 @@ XsheetViewer {
|
||||||
qproperty-MeshColumnColor: #684D86;
|
qproperty-MeshColumnColor: #684D86;
|
||||||
qproperty-MeshColumnBorderColor: #BA92EF;
|
qproperty-MeshColumnBorderColor: #BA92EF;
|
||||||
qproperty-SelectedMeshColumnColor: #82689e;
|
qproperty-SelectedMeshColumnColor: #82689e;
|
||||||
|
qproperty-SoundTextColumnColor: #c8c8c8;
|
||||||
|
qproperty-SoundTextColumnBorderColor: #8c8c8c;
|
||||||
|
qproperty-SelectedSoundTextColumnColor: #e2e2e2;
|
||||||
qproperty-SoundColumnColor: #657456;
|
qproperty-SoundColumnColor: #657456;
|
||||||
qproperty-SoundColumnBorderColor: #A0AF7D;
|
qproperty-SoundColumnBorderColor: #A0AF7D;
|
||||||
qproperty-SelectedSoundColumnColor: #7e8b72;
|
qproperty-SelectedSoundColumnColor: #7e8b72;
|
||||||
|
@ -1759,8 +1762,11 @@ XsheetViewer {
|
||||||
qproperty-TimelineConfigButtonBgColor: rgba(255, 255, 255, 0);
|
qproperty-TimelineConfigButtonBgColor: rgba(255, 255, 255, 0);
|
||||||
qproperty-TimelineConfigButtonImage: url('imgs/white/timeline_config.svg');
|
qproperty-TimelineConfigButtonImage: url('imgs/white/timeline_config.svg');
|
||||||
qproperty-LayerHeaderPreviewImage: url('imgs/white/layer_header_prev_eye.svg');
|
qproperty-LayerHeaderPreviewImage: url('imgs/white/layer_header_prev_eye.svg');
|
||||||
|
qproperty-LayerHeaderPreviewOverImage: url('imgs/white/layer_header_prev_eye_over.svg');
|
||||||
qproperty-LayerHeaderCamstandImage: url('imgs/white/layer_header_table_view.svg');
|
qproperty-LayerHeaderCamstandImage: url('imgs/white/layer_header_table_view.svg');
|
||||||
|
qproperty-LayerHeaderCamstandOverImage: url('imgs/white/layer_header_table_view_over.svg');
|
||||||
qproperty-LayerHeaderLockImage: url('imgs/white/lock_on.svg');
|
qproperty-LayerHeaderLockImage: url('imgs/white/lock_on.svg');
|
||||||
|
qproperty-LayerHeaderLockOverImage: url('imgs/white/lock_on_over.svg');
|
||||||
}
|
}
|
||||||
/* XSheet Toolbar
|
/* XSheet Toolbar
|
||||||
----------------------------------------------------------------------------- */
|
----------------------------------------------------------------------------- */
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 21.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1"
|
||||||
|
id="svg6" inkscape:version="0.91 r13725" sodipodi:docname="layer_header_prev_eye.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 18 18"
|
||||||
|
style="enable-background:new 0 0 18 18;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{fill:#E6E6E6;stroke:#303030;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:1.4142;}
|
||||||
|
.st1{fill:#E6E6E6;}
|
||||||
|
.st2{fill:#303030;}
|
||||||
|
</style>
|
||||||
|
<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview9" inkscape:current-layer="svg6" inkscape:cx="9" inkscape:cy="9" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="480" inkscape:window-maximized="0" inkscape:window-width="796" inkscape:window-x="0" inkscape:window-y="0" inkscape:zoom="13.111111" objecttolerance="10" pagecolor="#ffffff" showgrid="false">
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<rect
|
||||||
|
y="0.0010595348"
|
||||||
|
x="0.0010603889"
|
||||||
|
height="17.997881"
|
||||||
|
width="17.997881"
|
||||||
|
id="rect829"
|
||||||
|
style="clip-rule:evenodd;fill:#e6e6e6;fill-opacity:0.29019608;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<path id="path821" inkscape:connector-curvature="0" class="st0" d="M2,9.6c0,0,2.6-4.5,7-4.5s7,4.5,7,4.5s-2.6,4.5-7,4.5
|
||||||
|
S2,9.6,2,9.6z"/>
|
||||||
|
<path id="path832" inkscape:connector-curvature="0" class="st1" d="M2,9.6c0,0,2.6-4.5,7-4.5s7,4.5,7,4.5s-2.6,4.5-7,4.5
|
||||||
|
S2,9.6,2,9.6z"/>
|
||||||
|
<ellipse id="path21" class="st2" cx="9" cy="9.6" rx="3.5" ry="3.6"/>
|
||||||
|
<circle id="path1450" class="st1" cx="8" cy="8.6" r="1.5"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 21.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1"
|
||||||
|
id="svg6" inkscape:version="0.91 r13725" sodipodi:docname="layer_header_table_view.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 18 18"
|
||||||
|
style="enable-background:new 0 0 18 18;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{fill:#E6E6E6;stroke:#303030;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:1.4142;}
|
||||||
|
.st1{fill:#E6E6E6;}
|
||||||
|
.st2{fill:#303030;}
|
||||||
|
</style>
|
||||||
|
<rect
|
||||||
|
y="-0.0084745837"
|
||||||
|
x="-0.0084745763"
|
||||||
|
height="17.997881"
|
||||||
|
width="17.997881"
|
||||||
|
id="rect829"
|
||||||
|
style="clip-rule:evenodd;fill:#e6e6e6;fill-opacity:0.29019608;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<ellipse id="path1869" class="st0" cx="9" cy="9.5" rx="6.5" ry="6.5"/>
|
||||||
|
<ellipse id="ellipse9" class="st1" cx="9" cy="9.5" rx="6.5" ry="6.5"/>
|
||||||
|
<rect id="rect1871" x="5" y="6" class="st2" width="8" height="7"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
67
stuff/config/qss/Default/imgs/black/lock_on_over.svg
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xml:space="preserve"
|
||||||
|
style="enable-background:new 0 0 18 18;"
|
||||||
|
viewBox="0 0 18 18"
|
||||||
|
y="0px"
|
||||||
|
x="0px"
|
||||||
|
id="svg4489"
|
||||||
|
version="1.1"><metadata
|
||||||
|
id="metadata3765"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs3763" />
|
||||||
|
<style
|
||||||
|
id="style3752"
|
||||||
|
type="text/css">
|
||||||
|
.st0{fill:#FBFBFB;stroke:#303030;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:1.4142;}
|
||||||
|
.st1{fill:#E6E6E6;}
|
||||||
|
.st2{fill:#303030;}
|
||||||
|
</style>
|
||||||
|
<rect
|
||||||
|
y="0.0010595216"
|
||||||
|
x="0.0010592251"
|
||||||
|
height="17.997881"
|
||||||
|
width="17.997881"
|
||||||
|
id="rect829"
|
||||||
|
style="clip-rule:evenodd;fill:#e6e6e6;fill-opacity:0.29019608;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
style="fill:#fbfbfb;stroke:#303030;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:1.41419995"
|
||||||
|
d="M 8.5,3 C 6.6,3 5,4.6 5,6.5 V 7 H 6 V 6.5 C 6,5.1 7.1,4 8.5,4 9.9,4 11,5.1 11,6.5 V 7 h 1 V 6.5 C 12,4.6 10.4,3 8.5,3 Z M 4,8 v 7 h 9 V 8 Z"
|
||||||
|
class="st0"
|
||||||
|
id="path4493" />
|
||||||
|
<g
|
||||||
|
transform="matrix(0.05555556,0,0,0.05555556,-0.5,0)"
|
||||||
|
id="g4491">
|
||||||
|
<path
|
||||||
|
style="fill:#e6e6e6"
|
||||||
|
d="M 81,144 V 270 H 243 V 144 Z"
|
||||||
|
class="st1"
|
||||||
|
id="rect4488" />
|
||||||
|
<path
|
||||||
|
style="fill:#e6e6e6"
|
||||||
|
d="m 162,54 c -34.8,0 -63,28.2 -63,63 v 9 h 18 v -9 c 0,-24.8 20.2,-45 45,-45 24.8,0 45,20.1 45,45 v 9 h 18 v -9 C 225,82.2 196.8,54 162,54 Z"
|
||||||
|
class="st1"
|
||||||
|
id="path4509" />
|
||||||
|
</g>
|
||||||
|
<circle
|
||||||
|
style="fill:#303030"
|
||||||
|
r="1.5"
|
||||||
|
cy="10.5"
|
||||||
|
cx="8.5"
|
||||||
|
class="st2"
|
||||||
|
id="path820" />
|
||||||
|
<rect
|
||||||
|
style="fill:#303030"
|
||||||
|
height="3"
|
||||||
|
width="1.5"
|
||||||
|
class="st2"
|
||||||
|
y="11"
|
||||||
|
x="7.8000002"
|
||||||
|
id="rect822" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
|
@ -0,0 +1,27 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 21.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1"
|
||||||
|
id="svg6" inkscape:version="0.91 r13725" sodipodi:docname="layer_header_prev_eye.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 18 18"
|
||||||
|
style="enable-background:new 0 0 18 18;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{fill:#E6E6E6;stroke:#303030;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:1.4142;}
|
||||||
|
.st1{fill:#E6E6E6;}
|
||||||
|
.st2{fill:#303030;}
|
||||||
|
</style>
|
||||||
|
<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview9" inkscape:current-layer="svg6" inkscape:cx="9" inkscape:cy="9" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="480" inkscape:window-maximized="0" inkscape:window-width="796" inkscape:window-x="0" inkscape:window-y="0" inkscape:zoom="13.111111" objecttolerance="10" pagecolor="#ffffff" showgrid="false">
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<rect
|
||||||
|
y="0.0010595348"
|
||||||
|
x="0.0010603889"
|
||||||
|
height="17.997881"
|
||||||
|
width="17.997881"
|
||||||
|
id="rect829"
|
||||||
|
style="clip-rule:evenodd;fill:#e6e6e6;fill-opacity:0.29019608;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<path id="path821" inkscape:connector-curvature="0" class="st0" d="M2,9.6c0,0,2.6-4.5,7-4.5s7,4.5,7,4.5s-2.6,4.5-7,4.5
|
||||||
|
S2,9.6,2,9.6z"/>
|
||||||
|
<path id="path832" inkscape:connector-curvature="0" class="st1" d="M2,9.6c0,0,2.6-4.5,7-4.5s7,4.5,7,4.5s-2.6,4.5-7,4.5
|
||||||
|
S2,9.6,2,9.6z"/>
|
||||||
|
<ellipse id="path21" class="st2" cx="9" cy="9.6" rx="3.5" ry="3.6"/>
|
||||||
|
<circle id="path1450" class="st1" cx="8" cy="8.6" r="1.5"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 21.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1"
|
||||||
|
id="svg6" inkscape:version="0.91 r13725" sodipodi:docname="layer_header_table_view.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 18 18"
|
||||||
|
style="enable-background:new 0 0 18 18;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{fill:#E6E6E6;stroke:#303030;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:1.4142;}
|
||||||
|
.st1{fill:#E6E6E6;}
|
||||||
|
.st2{fill:#303030;}
|
||||||
|
</style>
|
||||||
|
<rect
|
||||||
|
y="-0.0084745837"
|
||||||
|
x="-0.0084745763"
|
||||||
|
height="17.997881"
|
||||||
|
width="17.997881"
|
||||||
|
id="rect829"
|
||||||
|
style="clip-rule:evenodd;fill:#e6e6e6;fill-opacity:0.29019608;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<ellipse id="path1869" class="st0" cx="9" cy="9.5" rx="6.5" ry="6.5"/>
|
||||||
|
<ellipse id="ellipse9" class="st1" cx="9" cy="9.5" rx="6.5" ry="6.5"/>
|
||||||
|
<rect id="rect1871" x="5" y="6" class="st2" width="8" height="7"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
67
stuff/config/qss/Default/imgs/white/lock_on_over.svg
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xml:space="preserve"
|
||||||
|
style="enable-background:new 0 0 18 18;"
|
||||||
|
viewBox="0 0 18 18"
|
||||||
|
y="0px"
|
||||||
|
x="0px"
|
||||||
|
id="svg4489"
|
||||||
|
version="1.1"><metadata
|
||||||
|
id="metadata3765"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs3763" />
|
||||||
|
<style
|
||||||
|
id="style3752"
|
||||||
|
type="text/css">
|
||||||
|
.st0{fill:#FBFBFB;stroke:#303030;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:1.4142;}
|
||||||
|
.st1{fill:#E6E6E6;}
|
||||||
|
.st2{fill:#303030;}
|
||||||
|
</style>
|
||||||
|
<rect
|
||||||
|
y="0.0010595216"
|
||||||
|
x="0.0010592251"
|
||||||
|
height="17.997881"
|
||||||
|
width="17.997881"
|
||||||
|
id="rect829"
|
||||||
|
style="clip-rule:evenodd;fill:#e6e6e6;fill-opacity:0.29019608;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
style="fill:#fbfbfb;stroke:#303030;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:1.41419995"
|
||||||
|
d="M 8.5,3 C 6.6,3 5,4.6 5,6.5 V 7 H 6 V 6.5 C 6,5.1 7.1,4 8.5,4 9.9,4 11,5.1 11,6.5 V 7 h 1 V 6.5 C 12,4.6 10.4,3 8.5,3 Z M 4,8 v 7 h 9 V 8 Z"
|
||||||
|
class="st0"
|
||||||
|
id="path4493" />
|
||||||
|
<g
|
||||||
|
transform="matrix(0.05555556,0,0,0.05555556,-0.5,0)"
|
||||||
|
id="g4491">
|
||||||
|
<path
|
||||||
|
style="fill:#e6e6e6"
|
||||||
|
d="M 81,144 V 270 H 243 V 144 Z"
|
||||||
|
class="st1"
|
||||||
|
id="rect4488" />
|
||||||
|
<path
|
||||||
|
style="fill:#e6e6e6"
|
||||||
|
d="m 162,54 c -34.8,0 -63,28.2 -63,63 v 9 h 18 v -9 c 0,-24.8 20.2,-45 45,-45 24.8,0 45,20.1 45,45 v 9 h 18 v -9 C 225,82.2 196.8,54 162,54 Z"
|
||||||
|
class="st1"
|
||||||
|
id="path4509" />
|
||||||
|
</g>
|
||||||
|
<circle
|
||||||
|
style="fill:#303030"
|
||||||
|
r="1.5"
|
||||||
|
cy="10.5"
|
||||||
|
cx="8.5"
|
||||||
|
class="st2"
|
||||||
|
id="path820" />
|
||||||
|
<rect
|
||||||
|
style="fill:#303030"
|
||||||
|
height="3"
|
||||||
|
width="1.5"
|
||||||
|
class="st2"
|
||||||
|
y="11"
|
||||||
|
x="7.8000002"
|
||||||
|
id="rect822" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
|
@ -361,6 +361,10 @@
|
||||||
@xsheet-MeshColumnBorder-color: #BA92EF;
|
@xsheet-MeshColumnBorder-color: #BA92EF;
|
||||||
@xsheet-SelectedMeshColumn-color: lighten(desaturate(@xsheet-MeshColumn-color, 5), 10);
|
@xsheet-SelectedMeshColumn-color: lighten(desaturate(@xsheet-MeshColumn-color, 5), 10);
|
||||||
|
|
||||||
|
@xsheet-SoundTextColumn-color: #c8c8c8;
|
||||||
|
@xsheet-SoundTextColumnBorder-color: #8c8c8c;
|
||||||
|
@xsheet-SelectedSoundTextColumn-color: lighten(desaturate(@xsheet-SoundTextColumn-color, 5), 10);
|
||||||
|
|
||||||
@xsheet-SoundColumn-color: #657456;
|
@xsheet-SoundColumn-color: #657456;
|
||||||
@xsheet-SoundColumnBorder-color: #A0AF7D;
|
@xsheet-SoundColumnBorder-color: #A0AF7D;
|
||||||
@xsheet-SelectedSoundColumn-color: lighten(desaturate(@xsheet-SoundColumn-color, 5), 10);
|
@xsheet-SelectedSoundColumn-color: lighten(desaturate(@xsheet-SoundColumn-color, 5), 10);
|
||||||
|
@ -419,9 +423,11 @@
|
||||||
@timeline-ConfigButtonImage: 'timeline_config.svg';
|
@timeline-ConfigButtonImage: 'timeline_config.svg';
|
||||||
|
|
||||||
@layerheader-PreviewImage: 'layer_header_prev_eye.svg';
|
@layerheader-PreviewImage: 'layer_header_prev_eye.svg';
|
||||||
|
@layerheader-PreviewOverImage: 'layer_header_prev_eye_over.svg';
|
||||||
@layerheader-CamstandImage: 'layer_header_table_view.svg';
|
@layerheader-CamstandImage: 'layer_header_table_view.svg';
|
||||||
|
@layerheader-CamstandOverImage: 'layer_header_table_view_over.svg';
|
||||||
@layerheader-LockImage: 'lock_on.svg';
|
@layerheader-LockImage: 'lock_on.svg';
|
||||||
|
@layerheader-LockOverImage: 'lock_on_over.svg';
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
// Function Editor
|
// Function Editor
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
|
@ -98,6 +98,10 @@ XsheetViewer {
|
||||||
qproperty-MeshColumnBorderColor: @xsheet-MeshColumnBorder-color;
|
qproperty-MeshColumnBorderColor: @xsheet-MeshColumnBorder-color;
|
||||||
qproperty-SelectedMeshColumnColor: @xsheet-SelectedMeshColumn-color;
|
qproperty-SelectedMeshColumnColor: @xsheet-SelectedMeshColumn-color;
|
||||||
|
|
||||||
|
qproperty-SoundTextColumnColor: @xsheet-SoundTextColumn-color;
|
||||||
|
qproperty-SoundTextColumnBorderColor: @xsheet-SoundTextColumnBorder-color;
|
||||||
|
qproperty-SelectedSoundTextColumnColor: @xsheet-SelectedSoundTextColumn-color;
|
||||||
|
|
||||||
qproperty-SoundColumnColor: @xsheet-SoundColumn-color;
|
qproperty-SoundColumnColor: @xsheet-SoundColumn-color;
|
||||||
qproperty-SoundColumnBorderColor: @xsheet-SoundColumnBorder-color;
|
qproperty-SoundColumnBorderColor: @xsheet-SoundColumnBorder-color;
|
||||||
qproperty-SelectedSoundColumnColor: @xsheet-SelectedSoundColumn-color;
|
qproperty-SelectedSoundColumnColor: @xsheet-SelectedSoundColumn-color;
|
||||||
|
@ -154,8 +158,11 @@ XsheetViewer {
|
||||||
qproperty-TimelineConfigButtonImage: url('@{img-url}/@{timeline-ConfigButtonImage}');
|
qproperty-TimelineConfigButtonImage: url('@{img-url}/@{timeline-ConfigButtonImage}');
|
||||||
|
|
||||||
qproperty-LayerHeaderPreviewImage: url('@{img-url}/@{layerheader-PreviewImage}');
|
qproperty-LayerHeaderPreviewImage: url('@{img-url}/@{layerheader-PreviewImage}');
|
||||||
|
qproperty-LayerHeaderPreviewOverImage: url('@{img-url}/@{layerheader-PreviewOverImage}');
|
||||||
qproperty-LayerHeaderCamstandImage: url('@{img-url}/@{layerheader-CamstandImage}');
|
qproperty-LayerHeaderCamstandImage: url('@{img-url}/@{layerheader-CamstandImage}');
|
||||||
|
qproperty-LayerHeaderCamstandOverImage: url('@{img-url}/@{layerheader-CamstandOverImage}');
|
||||||
qproperty-LayerHeaderLockImage: url('@{img-url}/@{layerheader-LockImage}');
|
qproperty-LayerHeaderLockImage: url('@{img-url}/@{layerheader-LockImage}');
|
||||||
|
qproperty-LayerHeaderLockOverImage: url('@{img-url}/@{layerheader-LockOverImage}');
|
||||||
}
|
}
|
||||||
|
|
||||||
/* XSheet Toolbar
|
/* XSheet Toolbar
|
||||||
|
|
|
@ -1716,6 +1716,9 @@ XsheetViewer {
|
||||||
qproperty-MeshColumnColor: #ac78d4;
|
qproperty-MeshColumnColor: #ac78d4;
|
||||||
qproperty-MeshColumnBorderColor: #6b418c;
|
qproperty-MeshColumnBorderColor: #6b418c;
|
||||||
qproperty-SelectedMeshColumnColor: #c3a2dd;
|
qproperty-SelectedMeshColumnColor: #c3a2dd;
|
||||||
|
qproperty-SoundTextColumnColor: #c8c8c8;
|
||||||
|
qproperty-SoundTextColumnBorderColor: #8c8c8c;
|
||||||
|
qproperty-SelectedSoundTextColumnColor: #e2e2e2;
|
||||||
qproperty-SoundColumnColor: #acba82;
|
qproperty-SoundColumnColor: #acba82;
|
||||||
qproperty-SoundColumnBorderColor: #656b51;
|
qproperty-SoundColumnBorderColor: #656b51;
|
||||||
qproperty-SelectedSoundColumnColor: #c0c9a6;
|
qproperty-SelectedSoundColumnColor: #c0c9a6;
|
||||||
|
@ -1760,8 +1763,11 @@ XsheetViewer {
|
||||||
qproperty-TimelineConfigButtonBgColor: rgba(255, 255, 255, 0);
|
qproperty-TimelineConfigButtonBgColor: rgba(255, 255, 255, 0);
|
||||||
qproperty-TimelineConfigButtonImage: url('../Default/imgs/black/timeline_config.svg');
|
qproperty-TimelineConfigButtonImage: url('../Default/imgs/black/timeline_config.svg');
|
||||||
qproperty-LayerHeaderPreviewImage: url('../Default/imgs/black/layer_header_prev_eye.svg');
|
qproperty-LayerHeaderPreviewImage: url('../Default/imgs/black/layer_header_prev_eye.svg');
|
||||||
|
qproperty-LayerHeaderPreviewOverImage: url('../Default/imgs/black/layer_header_prev_eye_over.svg');
|
||||||
qproperty-LayerHeaderCamstandImage: url('../Default/imgs/black/layer_header_table_view.svg');
|
qproperty-LayerHeaderCamstandImage: url('../Default/imgs/black/layer_header_table_view.svg');
|
||||||
|
qproperty-LayerHeaderCamstandOverImage: url('../Default/imgs/black/layer_header_table_view_over.svg');
|
||||||
qproperty-LayerHeaderLockImage: url('../Default/imgs/black/lock_on.svg');
|
qproperty-LayerHeaderLockImage: url('../Default/imgs/black/lock_on.svg');
|
||||||
|
qproperty-LayerHeaderLockOverImage: url('../Default/imgs/black/lock_on_over.svg');
|
||||||
}
|
}
|
||||||
/* XSheet Toolbar
|
/* XSheet Toolbar
|
||||||
----------------------------------------------------------------------------- */
|
----------------------------------------------------------------------------- */
|
||||||
|
|
|
@ -88,6 +88,7 @@
|
||||||
<item>MI_OpenStyleControl</item>
|
<item>MI_OpenStyleControl</item>
|
||||||
<item>MI_OpenLevelView</item>
|
<item>MI_OpenLevelView</item>
|
||||||
<item>MI_OpenXshView</item>
|
<item>MI_OpenXshView</item>
|
||||||
|
<item>MI_OpenTimelineView</item>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
room1.ini
|
room1.ini
|
||||||
room2.ini
|
room2.ini
|
||||||
room3.ini
|
room3.ini
|
||||||
|
room9.ini
|
||||||
room4.ini
|
room4.ini
|
||||||
room5.ini
|
room5.ini
|
||||||
room6.ini
|
room6.ini
|
||||||
|
|
|
@ -241,6 +241,7 @@
|
||||||
<command>MI_OpenLevelView</command>
|
<command>MI_OpenLevelView</command>
|
||||||
<command>MI_OpenComboViewer</command>
|
<command>MI_OpenComboViewer</command>
|
||||||
<command>MI_OpenXshView</command>
|
<command>MI_OpenXshView</command>
|
||||||
|
<command>MI_OpenTimelineView</command>
|
||||||
<command>MI_OpenHistoryPanel</command>
|
<command>MI_OpenHistoryPanel</command>
|
||||||
<command>MI_AudioRecording</command>
|
<command>MI_AudioRecording</command>
|
||||||
<separator/>
|
<separator/>
|
||||||
|
|
23
stuff/profiles/layouts/rooms/Default/room9.ini
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
[room]
|
||||||
|
hierarchy="-1 1 [ 5 [ [ 0 6 ] 4 3 1 ] 2 ] "
|
||||||
|
pane_0\name=StyleEditor
|
||||||
|
name=Timeline
|
||||||
|
pane_0\geometry=@Rect(0 30 238 487)
|
||||||
|
pane_0\isVertical=true
|
||||||
|
pane_0\visibleParts=15
|
||||||
|
pane_0\splitterState=@ByteArray(\0\0\0\xff\0\0\0\x1\0\0\0\x2\0\0\0\xa4\0\0\0\xd6\x1\xff\xff\xff\xff\x1\0\0\0\x2\0)
|
||||||
|
pane_1\name=FilmStrip
|
||||||
|
pane_1\geometry=@Rect(1660 30 260 681)
|
||||||
|
pane_2\name=Timeline
|
||||||
|
pane_2\geometry=@Rect(0 715 1920 278)
|
||||||
|
pane_2\orientation=LeftToRight
|
||||||
|
pane_2\frameZoomFactor=100
|
||||||
|
pane_3\name=SceneViewer
|
||||||
|
pane_3\geometry=@Rect(281 30 1375 681)
|
||||||
|
pane_4\name=ToolBar
|
||||||
|
pane_4\geometry=@Rect(242 30 35 681)
|
||||||
|
pane_5\name=ToolOptions
|
||||||
|
pane_5\geometry=@Rect(0 0 1920 26)
|
||||||
|
pane_6\name=LevelPalette
|
||||||
|
pane_6\geometry=@Rect(0 521 238 190)
|
||||||
|
pane_6\viewtype=0
|
|
@ -109,15 +109,16 @@ enum class PredefinedRect {
|
||||||
FILTER_COLOR, //! where to show layer's filter color
|
FILTER_COLOR, //! where to show layer's filter color
|
||||||
CONFIG_AREA, //! clickable area larger than the config icon, containing it
|
CONFIG_AREA, //! clickable area larger than the config icon, containing it
|
||||||
CONFIG, //! the config icon itself
|
CONFIG, //! the config icon itself
|
||||||
FRAME_DOT, //! Cell's frame indicator
|
FRAME_MARKER_AREA, //! Cell's frame indicator
|
||||||
FRAME_INDICATOR, //! Row # indicator
|
FRAME_INDICATOR, //! Row # indicator
|
||||||
ZOOM_SLIDER_AREA,
|
ZOOM_SLIDER_AREA,
|
||||||
ZOOM_SLIDER,
|
ZOOM_SLIDER,
|
||||||
ZOOM_IN_AREA,
|
ZOOM_IN_AREA,
|
||||||
ZOOM_IN,
|
ZOOM_IN,
|
||||||
ZOOM_OUT_AREA,
|
ZOOM_OUT_AREA,
|
||||||
ZOOM_OUT,
|
ZOOM_OUT,
|
||||||
LAYER_FOOTER_PANEL
|
LAYER_FOOTER_PANEL,
|
||||||
|
PREVIEW_FRAME_AREA
|
||||||
};
|
};
|
||||||
enum class PredefinedLine {
|
enum class PredefinedLine {
|
||||||
LOCKED, //! dotted vertical line when cell is locked
|
LOCKED, //! dotted vertical line when cell is locked
|
||||||
|
@ -144,7 +145,8 @@ enum class PredefinedPath {
|
||||||
END_PLAY_RANGE,
|
END_PLAY_RANGE,
|
||||||
VOLUME_SLIDER_TRACK, //! slider track
|
VOLUME_SLIDER_TRACK, //! slider track
|
||||||
VOLUME_SLIDER_HEAD, //! slider head
|
VOLUME_SLIDER_HEAD, //! slider head
|
||||||
TIME_INDICATOR_HEAD //! current time indicator head
|
TIME_INDICATOR_HEAD, //! current time indicator head
|
||||||
|
FRAME_MARKER_DIAMOND
|
||||||
};
|
};
|
||||||
enum class PredefinedPoint {
|
enum class PredefinedPoint {
|
||||||
KEY_HIDDEN, //! move extender handle that much if key icons are disabled
|
KEY_HIDDEN, //! move extender handle that much if key icons are disabled
|
||||||
|
|
|
@ -456,6 +456,11 @@ public:
|
||||||
void setLoadedXsheetLayout(std::string layout);
|
void setLoadedXsheetLayout(std::string layout);
|
||||||
QString getLoadedXsheetLayout() const { return m_loadedXsheetLayout; }
|
QString getLoadedXsheetLayout() const { return m_loadedXsheetLayout; }
|
||||||
|
|
||||||
|
void setCurrentColumnData(const TPixel ¤tColumnColor);
|
||||||
|
void getCurrentColumnData(TPixel ¤tColumnColor) const {
|
||||||
|
currentColumnColor = m_currentColumnColor;
|
||||||
|
}
|
||||||
|
|
||||||
// Animation tab
|
// Animation tab
|
||||||
|
|
||||||
void setKeyframeType(int s);
|
void setKeyframeType(int s);
|
||||||
|
@ -697,6 +702,8 @@ private:
|
||||||
QString m_cursorBrushStyle;
|
QString m_cursorBrushStyle;
|
||||||
bool m_cursorOutlineEnabled = false;
|
bool m_cursorOutlineEnabled = false;
|
||||||
|
|
||||||
|
TPixel32 m_currentColumnColor;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Preferences();
|
Preferences();
|
||||||
~Preferences();
|
~Preferences();
|
||||||
|
|
|
@ -420,7 +420,7 @@ public:
|
||||||
return getSelectedCells().contains(QPoint(col, row));
|
return getSelectedCells().contains(QPoint(col, row));
|
||||||
}
|
}
|
||||||
void setMarkRow(int distance, int offset) {
|
void setMarkRow(int distance, int offset) {
|
||||||
m_markRowDistance = distance > 0 ? distance : 6;
|
m_markRowDistance = distance; // distance > 0 ? distance : 6;
|
||||||
m_markRowOffset = offset;
|
m_markRowOffset = offset;
|
||||||
}
|
}
|
||||||
void getMarkRow(int &distance, int &offset) const {
|
void getMarkRow(int &distance, int &offset) const {
|
||||||
|
@ -428,7 +428,8 @@ public:
|
||||||
offset = m_markRowOffset;
|
offset = m_markRowOffset;
|
||||||
}
|
}
|
||||||
int isMarkRow(int row) const {
|
int isMarkRow(int row) const {
|
||||||
return (row - m_markRowOffset) % m_markRowDistance == 0;
|
return m_markRowDistance > 0 &&
|
||||||
|
((row - m_markRowOffset) % m_markRowDistance) == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setFrameHandle(TFrameHandle *frameHandle);
|
void setFrameHandle(TFrameHandle *frameHandle);
|
||||||
|
|
|
@ -1,23 +1,90 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!-- Generator: Adobe Illustrator 21.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
<!-- Generator: Adobe Illustrator 21.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
<svg version="1.1"
|
|
||||||
id="svg2" inkscape:version="0.91 r13725" sodipodi:docname="newmemo.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
|
<svg
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 38 20"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
style="enable-background:new 0 0 38 20;" xml:space="preserve">
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
<style type="text/css">
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.1"
|
||||||
|
id="svg2"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="newmemo.svg"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
viewBox="0 0 30 20"
|
||||||
|
xml:space="preserve"
|
||||||
|
width="30"
|
||||||
|
height="20"><metadata
|
||||||
|
id="metadata16"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs14" /><style
|
||||||
|
type="text/css"
|
||||||
|
id="style3">
|
||||||
.st0{fill:#FFFFFF;}
|
.st0{fill:#FFFFFF;}
|
||||||
.st1{fill:#404040;}
|
.st1{fill:#404040;}
|
||||||
.st2{fill:#C8C8C8;}
|
.st2{fill:#C8C8C8;}
|
||||||
</style>
|
</style><sodipodi:namedview
|
||||||
<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview16" inkscape:current-layer="svg2" inkscape:cx="19" inkscape:cy="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="480" inkscape:window-maximized="0" inkscape:window-width="796" inkscape:window-x="0" inkscape:window-y="0" inkscape:zoom="11.8" objecttolerance="10" pagecolor="#ffffff" showgrid="false">
|
bordercolor="#666666"
|
||||||
</sodipodi:namedview>
|
borderopacity="1"
|
||||||
<g>
|
gridtolerance="10"
|
||||||
<g id="g4">
|
guidetolerance="10"
|
||||||
<path id="path6" inkscape:connector-curvature="0" class="st0" d="M36,3H9.5L2,10.5V17h34V3z"/>
|
id="namedview16"
|
||||||
<path id="path8" inkscape:connector-curvature="0" class="st1" d="M37,18H1v-7.9L9.1,2H37V18z M9.5,3L2,10.5V17h34V3H9.5z"/>
|
inkscape:current-layer="g6"
|
||||||
</g>
|
inkscape:cx="13.450899"
|
||||||
<path id="path10" inkscape:connector-curvature="0" class="st2" d="M9,2l-8,8l0.1,1H10V2H9z"/>
|
inkscape:cy="10.157935"
|
||||||
<path id="path12" inkscape:connector-curvature="0" class="st1" d="M10,2v9H1.1L1,10l8-8H10z M2.4,10H9V3.4L2.4,10z"/>
|
inkscape:pageopacity="0"
|
||||||
<path id="path14" inkscape:connector-curvature="0" class="st1" d="M16,9h3V6h2v3h3v2h-3v3h-2v-3h-3V9z"/>
|
inkscape:pageshadow="2"
|
||||||
</g>
|
inkscape:window-height="1015"
|
||||||
</svg>
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:zoom="47.2"
|
||||||
|
objecttolerance="10"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
showgrid="true"
|
||||||
|
showguides="false"
|
||||||
|
inkscape:snap-bbox="true"
|
||||||
|
inkscape:bbox-paths="true"
|
||||||
|
inkscape:bbox-nodes="true"
|
||||||
|
inkscape:snap-bbox-edge-midpoints="true"
|
||||||
|
inkscape:snap-bbox-midpoints="false"
|
||||||
|
inkscape:snap-nodes="true"><inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid4140" /></sodipodi:namedview><g
|
||||||
|
id="g6"><g
|
||||||
|
id="g4"
|
||||||
|
transform="matrix(0.93333333,0,0,1,0.06666667,0)"><path
|
||||||
|
id="path6"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
class="st0"
|
||||||
|
d="M 29.928572,3 8.5,3 l -6.4285714,7 0,7 27.8571434,0 z"
|
||||||
|
style="fill:#e6e6e6;fill-opacity:1"
|
||||||
|
sodipodi:nodetypes="cccccc" /><path
|
||||||
|
id="path8"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
class="st1"
|
||||||
|
d="M 31,18 1,18 1,10 8.2321429,2 31,2 Z M 8.5,3 l -6.4285714,7 0,7 27.8571434,0 0,-14 z"
|
||||||
|
style="fill:#404040"
|
||||||
|
sodipodi:nodetypes="cccccccccccc" /></g><path
|
||||||
|
id="path10"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
class="st2"
|
||||||
|
d="M 8.1111111,2 1,10 1.0888889,11 9,11 9,2 8.1111111,2 Z"
|
||||||
|
style="fill:#c8c8c8" /><path
|
||||||
|
id="path12"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
class="st1"
|
||||||
|
d="M 9,2 9,11 1,11 1,10 7.75,2 Z M 2.2444444,10 8,10 8,3.4 Z"
|
||||||
|
style="fill:#404040"
|
||||||
|
sodipodi:nodetypes="cccccccccc" /><path
|
||||||
|
id="path14"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
class="st1"
|
||||||
|
d="m 12,9 3,0 0,-3 2,0 0,3 3,0 0,2 -3,0 0,3 -2,0 0,-3 -3,0 0,-2 z"
|
||||||
|
style="fill:#404040" /></g></svg>
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 3.1 KiB |
|
@ -1,23 +1,91 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!-- Generator: Adobe Illustrator 21.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
<!-- Generator: Adobe Illustrator 21.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
<svg version="1.1"
|
|
||||||
id="svg2" inkscape:version="0.91 r13725" sodipodi:docname="newmemo_disabled.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
|
<svg
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 38 20"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
style="enable-background:new 0 0 38 20;" xml:space="preserve">
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
<style type="text/css">
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.1"
|
||||||
|
id="svg2"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="newmemo_disabled.svg"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
viewBox="0 0 30 20"
|
||||||
|
xml:space="preserve"
|
||||||
|
width="30"
|
||||||
|
height="20"><metadata
|
||||||
|
id="metadata16"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs14" /><style
|
||||||
|
type="text/css"
|
||||||
|
id="style3">
|
||||||
.st0{fill:#FFFFFF;}
|
.st0{fill:#FFFFFF;}
|
||||||
.st1{fill:#404040;}
|
.st1{fill:#404040;}
|
||||||
.st2{fill:#C8C8C8;}
|
.st2{fill:#C8C8C8;}
|
||||||
</style>
|
</style><sodipodi:namedview
|
||||||
<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview16" inkscape:current-layer="svg2" inkscape:cx="19" inkscape:cy="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="480" inkscape:window-maximized="0" inkscape:window-width="796" inkscape:window-x="0" inkscape:window-y="0" inkscape:zoom="11.8" objecttolerance="10" pagecolor="#ffffff" showgrid="false">
|
bordercolor="#666666"
|
||||||
</sodipodi:namedview>
|
borderopacity="1"
|
||||||
<g>
|
gridtolerance="10"
|
||||||
<g id="g4">
|
guidetolerance="10"
|
||||||
<path id="path6" inkscape:connector-curvature="0" class="st0" d="M36,3H9.5L2,10.5V17h34V3z"/>
|
id="namedview16"
|
||||||
<path id="path8" inkscape:connector-curvature="0" class="st1" d="M37,18H1v-7.9L9.1,2H37V18z M9.5,3L2,10.5V17h34V3H9.5z"/>
|
inkscape:current-layer="g6"
|
||||||
</g>
|
inkscape:cx="13.071527"
|
||||||
<path id="path10" inkscape:connector-curvature="0" class="st2" d="M9,2l-8,8l0.1,1H10V2H9z"/>
|
inkscape:cy="11.005393"
|
||||||
<path id="path12" inkscape:connector-curvature="0" class="st1" d="M10,2v9H1.1L1,10l8-8H10z M2.4,10H9V3.4L2.4,10z"/>
|
inkscape:pageopacity="0"
|
||||||
<path id="path14" inkscape:connector-curvature="0" class="st1" d="M16,9h3V6h2v3h3v2h-3v3h-2v-3h-3V9z"/>
|
inkscape:pageshadow="2"
|
||||||
</g>
|
inkscape:window-height="1015"
|
||||||
</svg>
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:zoom="47.2"
|
||||||
|
objecttolerance="10"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
showgrid="true"
|
||||||
|
showguides="false"
|
||||||
|
inkscape:snap-bbox="true"
|
||||||
|
inkscape:bbox-nodes="true"
|
||||||
|
inkscape:bbox-paths="true"
|
||||||
|
inkscape:snap-bbox-edge-midpoints="true"
|
||||||
|
inkscape:snap-grids="true"><inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid4144" /></sodipodi:namedview><g
|
||||||
|
id="g6"><g
|
||||||
|
id="g4"
|
||||||
|
style="stroke:none;stroke-opacity:1"
|
||||||
|
transform="matrix(0.93333333,0,0,1,0.06666667,0)"><path
|
||||||
|
id="path6"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
class="st0"
|
||||||
|
d="M 29.928572,3 8.5,3 l -6.4285714,7 0,7 27.8571434,0 z"
|
||||||
|
style="fill:#e6e6e6;fill-opacity:1;stroke:none;stroke-opacity:1"
|
||||||
|
sodipodi:nodetypes="cccccc" /><path
|
||||||
|
id="path8"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
class="st1"
|
||||||
|
d="M 31,18 1,18 1,10 8.2321429,2 31,2 Z M 8.5,3 l -6.4285714,7 0,7 27.8571434,0 0,-14 z"
|
||||||
|
style="fill:#404040;stroke:none;stroke-opacity:1"
|
||||||
|
sodipodi:nodetypes="cccccccccccc" /></g><path
|
||||||
|
id="path10"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
class="st2"
|
||||||
|
d="M 7.75,2 1,10 1.0777778,11 8,11 8,2 Z"
|
||||||
|
style="fill:#c8c8c8"
|
||||||
|
sodipodi:nodetypes="cccccc" /><path
|
||||||
|
id="path12"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
class="st1"
|
||||||
|
d="M 9,2 9,11 1,11 1,10 7.75,2 Z M 2.24,10 8,10 8,3.4 Z"
|
||||||
|
style="fill:#404040"
|
||||||
|
sodipodi:nodetypes="cccccccccc" /><path
|
||||||
|
id="path14"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
class="st1"
|
||||||
|
d="m 12,9 3,0 0,-3 2,0 0,3 3,0 0,2 -3,0 0,3 -2,0 0,-3 -3,0 0,-2 z"
|
||||||
|
style="fill:#404040" /></g></svg>
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 3.2 KiB |
197
toonz/sources/toonz/Resources/timeline2xsheet.svg
Normal file
|
@ -0,0 +1,197 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 10.0, SVG Export Plug-In . SVG Version: 3.0.0 Build 76) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:ns4="http://ns.adobe.com/SaveForWeb/1.0/"
|
||||||
|
xmlns:ns3="http://ns.adobe.com/Variables/1.0/"
|
||||||
|
xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
|
||||||
|
xmlns:ns2="http://ns.adobe.com/AdobeIllustrator/10.0/"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
ns2:viewOrigin="387 312"
|
||||||
|
ns2:rulerOrigin="0 0"
|
||||||
|
ns2:pageBounds="0 600 800 0"
|
||||||
|
width="40"
|
||||||
|
height="20"
|
||||||
|
viewBox="0 0 40 20"
|
||||||
|
overflow="visible"
|
||||||
|
enable-background="new 0 0 26 26"
|
||||||
|
xml:space="preserve"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1987"
|
||||||
|
sodipodi:docname="timeline2xsheet.svg"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
style="overflow:visible"><defs
|
||||||
|
id="defs1991"><linearGradient
|
||||||
|
y2="16.135401"
|
||||||
|
x2="14.882"
|
||||||
|
y1="9.3774004"
|
||||||
|
x1="8.1245003"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
id="XMLID_1_"><stop
|
||||||
|
id="stop1960"
|
||||||
|
style="stop-color:#FFFFFF"
|
||||||
|
offset="0" /><stop
|
||||||
|
id="stop1962"
|
||||||
|
style="stop-color:#CA97CF"
|
||||||
|
offset="0.8595" /><stop
|
||||||
|
id="stop1964"
|
||||||
|
style="stop-color:#F0EDF7"
|
||||||
|
offset="1" /><a:midPointStop
|
||||||
|
style="stop-color:#FFFFFF"
|
||||||
|
offset="0" /><a:midPointStop
|
||||||
|
style="stop-color:#FFFFFF"
|
||||||
|
offset="0.5" /><a:midPointStop
|
||||||
|
style="stop-color:#CA97CF"
|
||||||
|
offset="0.8595" /><a:midPointStop
|
||||||
|
style="stop-color:#CA97CF"
|
||||||
|
offset="0.5" /><a:midPointStop
|
||||||
|
style="stop-color:#F0EDF7"
|
||||||
|
offset="1" /></linearGradient><linearGradient
|
||||||
|
y2="4.4947"
|
||||||
|
x2="13.4068"
|
||||||
|
y1="11.2783"
|
||||||
|
x1="20.190399"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
id="XMLID_2_"><stop
|
||||||
|
id="stop1975"
|
||||||
|
style="stop-color:#FFFFFF"
|
||||||
|
offset="0" /><stop
|
||||||
|
id="stop1977"
|
||||||
|
style="stop-color:#657EAC"
|
||||||
|
offset="0.8595" /><a:midPointStop
|
||||||
|
style="stop-color:#FFFFFF"
|
||||||
|
offset="0" /><a:midPointStop
|
||||||
|
style="stop-color:#FFFFFF"
|
||||||
|
offset="0.5" /><a:midPointStop
|
||||||
|
style="stop-color:#657EAC"
|
||||||
|
offset="0.8595" /></linearGradient><clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath6631-5"><path
|
||||||
|
sodipodi:nodetypes="ccccccc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path6633-7"
|
||||||
|
d="m -17.271586,15.458392 0,10.215929 11.9569912,0 0,11.060056 1.0914803,0 0,-21.275985 z"
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#32cfb7;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /></clipPath><clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath997"><path
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#32cfb7;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
d="m 26.924548,9.3978546 7.620687,0 0,8.5060394 8.618534,0 0,1.898007 -16.239221,0 z"
|
||||||
|
id="path999"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccccccc" /></clipPath><clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath1001"><path
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#32cfb7;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
d="m 26.924548,9.3978546 7.620687,0 0,8.5060394 8.618534,0 0,1.898007 -16.239221,0 z"
|
||||||
|
id="path1003"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccccccc" /></clipPath><clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath1005"><path
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#32cfb7;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
d="m 9.3978546,-26.924548 0,-7.620687 8.5060394,0 0,-8.618534 1.898007,0 0,16.239221 z"
|
||||||
|
id="path1007"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccccccc" /></clipPath><clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath1009"><path
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#32cfb7;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
d="m 9.3978546,-26.924548 0,-7.620687 8.5060394,0 0,-8.618534 1.898007,0 0,16.239221 z"
|
||||||
|
id="path1011"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccccccc" /></clipPath></defs><sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#ffffff"
|
||||||
|
borderopacity="0"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1015"
|
||||||
|
id="namedview1989"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="32"
|
||||||
|
inkscape:cx="18.890707"
|
||||||
|
inkscape:cy="12.652361"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg1987"
|
||||||
|
inkscape:pagecheckerboard="true"
|
||||||
|
inkscape:snap-global="true"
|
||||||
|
inkscape:showpageshadow="true"
|
||||||
|
borderlayer="false"
|
||||||
|
showguides="false"
|
||||||
|
inkscape:snap-bbox="true"
|
||||||
|
inkscape:bbox-paths="true"
|
||||||
|
inkscape:bbox-nodes="true"
|
||||||
|
inkscape:snap-bbox-edge-midpoints="true"><inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid4178" /></sodipodi:namedview><metadata
|
||||||
|
id="metadata1956"><ns3:variableSets><ns3:variableSet
|
||||||
|
varSetName="binding1"
|
||||||
|
locked="none"><ns3:variables /><ns3:sampleDataSets /></ns3:variableSet></ns3:variableSets><ns4:sfw><ns4:slices /><ns4:sliceSourceBounds
|
||||||
|
y="286"
|
||||||
|
x="387"
|
||||||
|
width="26"
|
||||||
|
height="26"
|
||||||
|
bottomLeftOrigin="true" /></ns4:sfw><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><rect
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#9b9b9b;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:1.08274567;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
id="rect5711-6"
|
||||||
|
width="10.917254"
|
||||||
|
height="14.917256"
|
||||||
|
x="4.5413737"
|
||||||
|
y="-16.458628"
|
||||||
|
transform="matrix(0,1,-1,0,0,0)"
|
||||||
|
clip-path="none" /><rect
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#9b9b9b;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:1.06277537;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
id="rect5711-6-4"
|
||||||
|
width="2.9372244"
|
||||||
|
height="14.937225"
|
||||||
|
x="4.5313878"
|
||||||
|
y="-16.468613"
|
||||||
|
transform="matrix(0,1,-1,0,0,0)"
|
||||||
|
clip-path="none" /><rect
|
||||||
|
mask="none"
|
||||||
|
clip-path="none"
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:0.97888446;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
id="rect5711"
|
||||||
|
width="11.021115"
|
||||||
|
height="15.021115"
|
||||||
|
x="-38.510559"
|
||||||
|
y="2.4894419"
|
||||||
|
transform="scale(-1,1)" /><rect
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:1.00494051;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
id="rect5711-4"
|
||||||
|
width="2.9950588"
|
||||||
|
height="14.995059"
|
||||||
|
x="27.50247"
|
||||||
|
y="2.50247" /><rect
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:0.99675596;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
id="rect5711-4-1"
|
||||||
|
width="8.0032444"
|
||||||
|
height="3.0032442"
|
||||||
|
x="30.498377"
|
||||||
|
y="2.4983778" /><rect
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#9b9b9b;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:1.04993284;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
id="rect5711-6-4-7"
|
||||||
|
width="7.950067"
|
||||||
|
height="2.950067"
|
||||||
|
x="7.5249667"
|
||||||
|
y="-4.4750319"
|
||||||
|
transform="matrix(0,1,-1,0,0,0)"
|
||||||
|
clip-path="none" /><path
|
||||||
|
style="overflow:visible;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:1.15400004;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 19.577,5.3741654 0,9.2516696 4.609548,-4.625834 z"
|
||||||
|
id="path4157"
|
||||||
|
inkscape:connector-curvature="0" /></svg>
|
After Width: | Height: | Size: 13 KiB |
198
toonz/sources/toonz/Resources/xsheet2timeline.svg
Normal file
|
@ -0,0 +1,198 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 10.0, SVG Export Plug-In . SVG Version: 3.0.0 Build 76) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:ns4="http://ns.adobe.com/SaveForWeb/1.0/"
|
||||||
|
xmlns:ns3="http://ns.adobe.com/Variables/1.0/"
|
||||||
|
xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
|
||||||
|
xmlns:ns2="http://ns.adobe.com/AdobeIllustrator/10.0/"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
ns2:viewOrigin="387 312"
|
||||||
|
ns2:rulerOrigin="0 0"
|
||||||
|
ns2:pageBounds="0 600 800 0"
|
||||||
|
width="40"
|
||||||
|
height="20"
|
||||||
|
viewBox="0 0 40 20"
|
||||||
|
overflow="visible"
|
||||||
|
enable-background="new 0 0 26 26"
|
||||||
|
xml:space="preserve"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1987"
|
||||||
|
sodipodi:docname="xsheet2timeline.svg"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
style="overflow:visible"><defs
|
||||||
|
id="defs1991"><linearGradient
|
||||||
|
y2="16.135401"
|
||||||
|
x2="14.882"
|
||||||
|
y1="9.3774004"
|
||||||
|
x1="8.1245003"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
id="XMLID_1_"><stop
|
||||||
|
id="stop1960"
|
||||||
|
style="stop-color:#FFFFFF"
|
||||||
|
offset="0" /><stop
|
||||||
|
id="stop1962"
|
||||||
|
style="stop-color:#CA97CF"
|
||||||
|
offset="0.8595" /><stop
|
||||||
|
id="stop1964"
|
||||||
|
style="stop-color:#F0EDF7"
|
||||||
|
offset="1" /><a:midPointStop
|
||||||
|
style="stop-color:#FFFFFF"
|
||||||
|
offset="0" /><a:midPointStop
|
||||||
|
style="stop-color:#FFFFFF"
|
||||||
|
offset="0.5" /><a:midPointStop
|
||||||
|
style="stop-color:#CA97CF"
|
||||||
|
offset="0.8595" /><a:midPointStop
|
||||||
|
style="stop-color:#CA97CF"
|
||||||
|
offset="0.5" /><a:midPointStop
|
||||||
|
style="stop-color:#F0EDF7"
|
||||||
|
offset="1" /></linearGradient><linearGradient
|
||||||
|
y2="4.4947"
|
||||||
|
x2="13.4068"
|
||||||
|
y1="11.2783"
|
||||||
|
x1="20.190399"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
id="XMLID_2_"><stop
|
||||||
|
id="stop1975"
|
||||||
|
style="stop-color:#FFFFFF"
|
||||||
|
offset="0" /><stop
|
||||||
|
id="stop1977"
|
||||||
|
style="stop-color:#657EAC"
|
||||||
|
offset="0.8595" /><a:midPointStop
|
||||||
|
style="stop-color:#FFFFFF"
|
||||||
|
offset="0" /><a:midPointStop
|
||||||
|
style="stop-color:#FFFFFF"
|
||||||
|
offset="0.5" /><a:midPointStop
|
||||||
|
style="stop-color:#657EAC"
|
||||||
|
offset="0.8595" /></linearGradient><clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath6631-5"><path
|
||||||
|
sodipodi:nodetypes="ccccccc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path6633-7"
|
||||||
|
d="m -17.271586,15.458392 0,10.215929 11.9569912,0 0,11.060056 1.0914803,0 0,-21.275985 z"
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#32cfb7;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /></clipPath><clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath997"><path
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#32cfb7;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
d="m 26.924548,9.3978546 7.620687,0 0,8.5060394 8.618534,0 0,1.898007 -16.239221,0 z"
|
||||||
|
id="path999"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccccccc" /></clipPath><clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath1001"><path
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#32cfb7;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
d="m 26.924548,9.3978546 7.620687,0 0,8.5060394 8.618534,0 0,1.898007 -16.239221,0 z"
|
||||||
|
id="path1003"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccccccc" /></clipPath><clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath1005"><path
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#32cfb7;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
d="m 9.3978546,-26.924548 0,-7.620687 8.5060394,0 0,-8.618534 1.898007,0 0,16.239221 z"
|
||||||
|
id="path1007"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccccccc" /></clipPath><clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath1009"><path
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#32cfb7;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
d="m 9.3978546,-26.924548 0,-7.620687 8.5060394,0 0,-8.618534 1.898007,0 0,16.239221 z"
|
||||||
|
id="path1011"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccccccc" /></clipPath></defs><sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#ffffff"
|
||||||
|
borderopacity="0"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1015"
|
||||||
|
id="namedview1989"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="22.627417"
|
||||||
|
inkscape:cx="31.511742"
|
||||||
|
inkscape:cy="1.9846809"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg1987"
|
||||||
|
inkscape:pagecheckerboard="true"
|
||||||
|
inkscape:snap-global="true"
|
||||||
|
inkscape:showpageshadow="true"
|
||||||
|
borderlayer="false"
|
||||||
|
showguides="true"
|
||||||
|
inkscape:snap-bbox="true"
|
||||||
|
inkscape:bbox-paths="true"
|
||||||
|
inkscape:bbox-nodes="true"
|
||||||
|
inkscape:snap-bbox-edge-midpoints="true"
|
||||||
|
showborder="true"><inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid4178" /></sodipodi:namedview><metadata
|
||||||
|
id="metadata1956"><ns3:variableSets><ns3:variableSet
|
||||||
|
varSetName="binding1"
|
||||||
|
locked="none"><ns3:variables /><ns3:sampleDataSets /></ns3:variableSet></ns3:variableSets><ns4:sfw><ns4:slices /><ns4:sliceSourceBounds
|
||||||
|
y="286"
|
||||||
|
x="387"
|
||||||
|
width="26"
|
||||||
|
height="26"
|
||||||
|
bottomLeftOrigin="true" /></ns4:sfw><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><rect
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:1.08274567;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
id="rect5711-6"
|
||||||
|
width="10.917254"
|
||||||
|
height="14.917256"
|
||||||
|
x="4.5413737"
|
||||||
|
y="-16.458628"
|
||||||
|
transform="matrix(0,1,-1,0,0,0)"
|
||||||
|
clip-path="none" /><rect
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:1.06277537;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
id="rect5711-6-4"
|
||||||
|
width="2.9372244"
|
||||||
|
height="14.937225"
|
||||||
|
x="4.5313878"
|
||||||
|
y="-16.468613"
|
||||||
|
transform="matrix(0,1,-1,0,0,0)"
|
||||||
|
clip-path="none" /><rect
|
||||||
|
mask="none"
|
||||||
|
clip-path="none"
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#9b9b9b;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:0.97888446;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
id="rect5711"
|
||||||
|
width="11.021115"
|
||||||
|
height="15.021115"
|
||||||
|
x="-38.510559"
|
||||||
|
y="2.4894423"
|
||||||
|
transform="scale(-1,1)" /><rect
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#9b9b9b;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:1.00494051;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
id="rect5711-4"
|
||||||
|
width="2.9950588"
|
||||||
|
height="14.995059"
|
||||||
|
x="27.502466"
|
||||||
|
y="2.5024705" /><rect
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#9b9b9b;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:0.99675596;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
id="rect5711-4-1"
|
||||||
|
width="8.0032444"
|
||||||
|
height="3.0032442"
|
||||||
|
x="30.498373"
|
||||||
|
y="2.4983783" /><rect
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:1.04993284;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
id="rect5711-6-4-7"
|
||||||
|
width="7.950067"
|
||||||
|
height="2.950067"
|
||||||
|
x="7.5249667"
|
||||||
|
y="-4.4750319"
|
||||||
|
transform="matrix(0,1,-1,0,0,0)"
|
||||||
|
clip-path="none" /><path
|
||||||
|
style="overflow:visible;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:1.16245127px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 24.418774,5.3060946 0,9.3878114 -4.606119,-4.693905 z"
|
||||||
|
id="path4157"
|
||||||
|
inkscape:connector-curvature="0" /></svg>
|
After Width: | Height: | Size: 13 KiB |
|
@ -67,12 +67,19 @@ void LayerHeaderPanel::paintEvent(QPaintEvent *event) {
|
||||||
QRect rect = QRect(QPoint(0, 0), size());
|
QRect rect = QRect(QPoint(0, 0), size());
|
||||||
p.fillRect(rect.adjusted(0, 0, -3, 0), slightlyLighter);
|
p.fillRect(rect.adjusted(0, 0, -3, 0), slightlyLighter);
|
||||||
|
|
||||||
drawIcon(p, PredefinedRect::EYE, boost::none,
|
QImage preview = (m_buttonHighlighted == PreviewButton
|
||||||
m_viewer->getLayerHeaderPreviewImage());
|
? m_viewer->getLayerHeaderPreviewOverImage()
|
||||||
drawIcon(p, PredefinedRect::PREVIEW_LAYER, boost::none,
|
: m_viewer->getLayerHeaderPreviewImage());
|
||||||
m_viewer->getLayerHeaderCamstandImage());
|
QImage camstand = (m_buttonHighlighted == CamstandButton
|
||||||
drawIcon(p, PredefinedRect::LOCK, boost::none,
|
? m_viewer->getLayerHeaderCamstandOverImage()
|
||||||
m_viewer->getLayerHeaderLockImage());
|
: m_viewer->getLayerHeaderCamstandImage());
|
||||||
|
QImage lock = (m_buttonHighlighted == LockButton
|
||||||
|
? m_viewer->getLayerHeaderLockOverImage()
|
||||||
|
: m_viewer->getLayerHeaderLockImage());
|
||||||
|
|
||||||
|
drawIcon(p, PredefinedRect::EYE, boost::none, preview);
|
||||||
|
drawIcon(p, PredefinedRect::PREVIEW_LAYER, boost::none, camstand);
|
||||||
|
drawIcon(p, PredefinedRect::LOCK, boost::none, lock);
|
||||||
|
|
||||||
QRect numberRect = o->rect(PredefinedRect::LAYER_NUMBER);
|
QRect numberRect = o->rect(PredefinedRect::LAYER_NUMBER);
|
||||||
|
|
||||||
|
@ -126,6 +133,17 @@ void LayerHeaderPanel::showOrHide(const Orientation *o) {
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
void LayerHeaderPanel::enterEvent(QEvent *) {
|
||||||
|
m_buttonHighlighted = NoButton;
|
||||||
|
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
|
void LayerHeaderPanel::leaveEvent(QEvent *) {
|
||||||
|
m_buttonHighlighted = NoButton;
|
||||||
|
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
void LayerHeaderPanel::mousePressEvent(QMouseEvent *event) {
|
void LayerHeaderPanel::mousePressEvent(QMouseEvent *event) {
|
||||||
const Orientation *o = Orientations::leftToRight();
|
const Orientation *o = Orientations::leftToRight();
|
||||||
|
@ -156,19 +174,23 @@ void LayerHeaderPanel::mousePressEvent(QMouseEvent *event) {
|
||||||
void LayerHeaderPanel::mouseMoveEvent(QMouseEvent *event) {
|
void LayerHeaderPanel::mouseMoveEvent(QMouseEvent *event) {
|
||||||
const Orientation *o = Orientations::leftToRight();
|
const Orientation *o = Orientations::leftToRight();
|
||||||
|
|
||||||
QPoint pos = event->pos();
|
QPoint pos = event->pos();
|
||||||
|
m_buttonHighlighted = NoButton;
|
||||||
|
|
||||||
// preview button
|
// preview button
|
||||||
if (o->rect(PredefinedRect::EYE_AREA).contains(pos)) {
|
if (o->rect(PredefinedRect::EYE_AREA).contains(pos)) {
|
||||||
m_tooltip = tr("Preview Visbility Toggle All");
|
m_tooltip = tr("Preview Visbility Toggle All");
|
||||||
|
m_buttonHighlighted = PreviewButton;
|
||||||
}
|
}
|
||||||
// camstand button
|
// camstand button
|
||||||
else if (o->rect(PredefinedRect::PREVIEW_LAYER_AREA).contains(pos)) {
|
else if (o->rect(PredefinedRect::PREVIEW_LAYER_AREA).contains(pos)) {
|
||||||
m_tooltip = tr("Camera Stand Visibility Toggle All");
|
m_tooltip = tr("Camera Stand Visibility Toggle All");
|
||||||
|
m_buttonHighlighted = CamstandButton;
|
||||||
}
|
}
|
||||||
// lock button
|
// lock button
|
||||||
else if (o->rect(PredefinedRect::LOCK).contains(pos)) {
|
else if (o->rect(PredefinedRect::LOCK).contains(pos)) {
|
||||||
m_tooltip = tr("Lock Toggle All");
|
m_tooltip = tr("Lock Toggle All");
|
||||||
|
m_buttonHighlighted = LockButton;
|
||||||
} else {
|
} else {
|
||||||
m_tooltip = tr("");
|
m_tooltip = tr("");
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,9 +18,12 @@ class LayerHeaderPanel final : public QWidget {
|
||||||
|
|
||||||
enum { ToggleAllTransparency = 1, ToggleAllPreviewVisible, ToggleAllLock };
|
enum { ToggleAllTransparency = 1, ToggleAllPreviewVisible, ToggleAllLock };
|
||||||
|
|
||||||
|
enum { NoButton, PreviewButton, CamstandButton, LockButton };
|
||||||
|
|
||||||
int m_doOnRelease;
|
int m_doOnRelease;
|
||||||
QString m_tooltip;
|
QString m_tooltip;
|
||||||
QPoint m_pos;
|
QPoint m_pos;
|
||||||
|
int m_buttonHighlighted;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
XsheetViewer *m_viewer;
|
XsheetViewer *m_viewer;
|
||||||
|
@ -43,6 +46,8 @@ protected:
|
||||||
void mousePressEvent(QMouseEvent *event) override;
|
void mousePressEvent(QMouseEvent *event) override;
|
||||||
void mouseMoveEvent(QMouseEvent *event) override;
|
void mouseMoveEvent(QMouseEvent *event) override;
|
||||||
void mouseReleaseEvent(QMouseEvent *event) override;
|
void mouseReleaseEvent(QMouseEvent *event) override;
|
||||||
|
void enterEvent(QEvent *);
|
||||||
|
void leaveEvent(QEvent *);
|
||||||
bool event(QEvent *event) override;
|
bool event(QEvent *event) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -2036,6 +2036,7 @@ void MainWindow::defineActions() {
|
||||||
createMenuWindowsAction(MI_OpenLineTestView, tr("&LineTest Viewer"), "");
|
createMenuWindowsAction(MI_OpenLineTestView, tr("&LineTest Viewer"), "");
|
||||||
#endif
|
#endif
|
||||||
createMenuWindowsAction(MI_OpenXshView, tr("&Xsheet"), "");
|
createMenuWindowsAction(MI_OpenXshView, tr("&Xsheet"), "");
|
||||||
|
createMenuWindowsAction(MI_OpenTimelineView, tr("&Timeline"), "");
|
||||||
// createAction(MI_TestAnimation, "Test Animation", "Ctrl+Return");
|
// createAction(MI_TestAnimation, "Test Animation", "Ctrl+Return");
|
||||||
// createAction(MI_Export, "Export", "Ctrl+E");
|
// createAction(MI_Export, "Export", "Ctrl+E");
|
||||||
|
|
||||||
|
@ -2415,9 +2416,9 @@ RecentFiles::~RecentFiles() {}
|
||||||
|
|
||||||
void RecentFiles::addFilePath(QString path, FileType fileType) {
|
void RecentFiles::addFilePath(QString path, FileType fileType) {
|
||||||
QList<QString> files =
|
QList<QString> files =
|
||||||
(fileType == Scene)
|
(fileType == Scene) ? m_recentScenes : (fileType == Level)
|
||||||
? m_recentScenes
|
? m_recentLevels
|
||||||
: (fileType == Level) ? m_recentLevels : m_recentFlipbookImages;
|
: m_recentFlipbookImages;
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < files.size(); i++)
|
for (i = 0; i < files.size(); i++)
|
||||||
if (files.at(i) == path) files.removeAt(i);
|
if (files.at(i) == path) files.removeAt(i);
|
||||||
|
@ -2542,9 +2543,9 @@ void RecentFiles::saveRecentFiles() {
|
||||||
|
|
||||||
QList<QString> RecentFiles::getFilesNameList(FileType fileType) {
|
QList<QString> RecentFiles::getFilesNameList(FileType fileType) {
|
||||||
QList<QString> files =
|
QList<QString> files =
|
||||||
(fileType == Scene)
|
(fileType == Scene) ? m_recentScenes : (fileType == Level)
|
||||||
? m_recentScenes
|
? m_recentLevels
|
||||||
: (fileType == Level) ? m_recentLevels : m_recentFlipbookImages;
|
: m_recentFlipbookImages;
|
||||||
QList<QString> names;
|
QList<QString> names;
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < files.size(); i++) {
|
for (i = 0; i < files.size(); i++) {
|
||||||
|
@ -2571,9 +2572,9 @@ void RecentFiles::refreshRecentFilesMenu(FileType fileType) {
|
||||||
menu->setEnabled(false);
|
menu->setEnabled(false);
|
||||||
else {
|
else {
|
||||||
CommandId clearActionId =
|
CommandId clearActionId =
|
||||||
(fileType == Scene)
|
(fileType == Scene) ? MI_ClearRecentScene : (fileType == Level)
|
||||||
? MI_ClearRecentScene
|
? MI_ClearRecentLevel
|
||||||
: (fileType == Level) ? MI_ClearRecentLevel : MI_ClearRecentImage;
|
: MI_ClearRecentImage;
|
||||||
menu->setActions(names);
|
menu->setActions(names);
|
||||||
menu->addSeparator();
|
menu->addSeparator();
|
||||||
QAction *clearAction = CommandManager::instance()->getAction(clearActionId);
|
QAction *clearAction = CommandManager::instance()->getAction(clearActionId);
|
||||||
|
|
|
@ -423,6 +423,7 @@ QMenuBar *StackedMenuBar::createCleanupMenuBar() {
|
||||||
addMenuItem(windowsMenu, MI_OpenStyleControl);
|
addMenuItem(windowsMenu, MI_OpenStyleControl);
|
||||||
addMenuItem(windowsMenu, MI_OpenComboViewer);
|
addMenuItem(windowsMenu, MI_OpenComboViewer);
|
||||||
addMenuItem(windowsMenu, MI_OpenXshView);
|
addMenuItem(windowsMenu, MI_OpenXshView);
|
||||||
|
addMenuItem(windowsMenu, MI_OpenTimelineView);
|
||||||
windowsMenu->addSeparator();
|
windowsMenu->addSeparator();
|
||||||
QMenu *otherWindowsMenu = windowsMenu->addMenu(tr("Other Windows"));
|
QMenu *otherWindowsMenu = windowsMenu->addMenu(tr("Other Windows"));
|
||||||
{
|
{
|
||||||
|
@ -593,6 +594,7 @@ QMenuBar *StackedMenuBar::createPltEditMenuBar() {
|
||||||
addMenuItem(windowsMenu, MI_OpenLevelView);
|
addMenuItem(windowsMenu, MI_OpenLevelView);
|
||||||
addMenuItem(windowsMenu, MI_OpenComboViewer);
|
addMenuItem(windowsMenu, MI_OpenComboViewer);
|
||||||
addMenuItem(windowsMenu, MI_OpenXshView);
|
addMenuItem(windowsMenu, MI_OpenXshView);
|
||||||
|
addMenuItem(windowsMenu, MI_OpenTimelineView);
|
||||||
windowsMenu->addSeparator();
|
windowsMenu->addSeparator();
|
||||||
QMenu *otherWindowsMenu = windowsMenu->addMenu(tr("Other Windows"));
|
QMenu *otherWindowsMenu = windowsMenu->addMenu(tr("Other Windows"));
|
||||||
{
|
{
|
||||||
|
@ -765,6 +767,7 @@ QMenuBar *StackedMenuBar::createInknPaintMenuBar() {
|
||||||
addMenuItem(windowsMenu, MI_OpenStudioPalette);
|
addMenuItem(windowsMenu, MI_OpenStudioPalette);
|
||||||
addMenuItem(windowsMenu, MI_OpenComboViewer);
|
addMenuItem(windowsMenu, MI_OpenComboViewer);
|
||||||
addMenuItem(windowsMenu, MI_OpenXshView);
|
addMenuItem(windowsMenu, MI_OpenXshView);
|
||||||
|
addMenuItem(windowsMenu, MI_OpenTimelineView);
|
||||||
addMenuItem(windowsMenu, MI_OpenColorModel);
|
addMenuItem(windowsMenu, MI_OpenColorModel);
|
||||||
addMenuItem(windowsMenu, MI_OpenFileBrowser);
|
addMenuItem(windowsMenu, MI_OpenFileBrowser);
|
||||||
addMenuItem(windowsMenu, MI_OpenFilmStrip);
|
addMenuItem(windowsMenu, MI_OpenFilmStrip);
|
||||||
|
@ -947,6 +950,7 @@ QMenuBar *StackedMenuBar::createXsheetMenuBar() {
|
||||||
addMenuItem(windowsMenu, MI_OpenFilmStrip);
|
addMenuItem(windowsMenu, MI_OpenFilmStrip);
|
||||||
addMenuItem(windowsMenu, MI_OpenLevelView);
|
addMenuItem(windowsMenu, MI_OpenLevelView);
|
||||||
addMenuItem(windowsMenu, MI_OpenXshView);
|
addMenuItem(windowsMenu, MI_OpenXshView);
|
||||||
|
addMenuItem(windowsMenu, MI_OpenTimelineView);
|
||||||
windowsMenu->addSeparator();
|
windowsMenu->addSeparator();
|
||||||
QMenu *otherWindowsMenu = windowsMenu->addMenu(tr("Other Windows"));
|
QMenu *otherWindowsMenu = windowsMenu->addMenu(tr("Other Windows"));
|
||||||
{
|
{
|
||||||
|
@ -1362,6 +1366,7 @@ QMenuBar *StackedMenuBar::createFullMenuBar() {
|
||||||
addMenuItem(windowsMenu, MI_OpenLevelView);
|
addMenuItem(windowsMenu, MI_OpenLevelView);
|
||||||
addMenuItem(windowsMenu, MI_OpenComboViewer);
|
addMenuItem(windowsMenu, MI_OpenComboViewer);
|
||||||
addMenuItem(windowsMenu, MI_OpenXshView);
|
addMenuItem(windowsMenu, MI_OpenXshView);
|
||||||
|
addMenuItem(windowsMenu, MI_OpenTimelineView);
|
||||||
addMenuItem(windowsMenu, MI_OpenHistoryPanel);
|
addMenuItem(windowsMenu, MI_OpenHistoryPanel);
|
||||||
addMenuItem(windowsMenu, MI_AudioRecording);
|
addMenuItem(windowsMenu, MI_AudioRecording);
|
||||||
windowsMenu->addSeparator();
|
windowsMenu->addSeparator();
|
||||||
|
|
|
@ -108,6 +108,7 @@
|
||||||
#define MI_Binarize "MI_Binarize"
|
#define MI_Binarize "MI_Binarize"
|
||||||
#define MI_LinesFade "MI_LinesFade"
|
#define MI_LinesFade "MI_LinesFade"
|
||||||
#define MI_OpenXshView "MI_OpenXshView"
|
#define MI_OpenXshView "MI_OpenXshView"
|
||||||
|
#define MI_OpenTimelineView "MI_OpenTimelineView"
|
||||||
#define MI_OpenMessage "MI_OpenMessage"
|
#define MI_OpenMessage "MI_OpenMessage"
|
||||||
#define MI_OpenTest "MI_OpenTest"
|
#define MI_OpenTest "MI_OpenTest"
|
||||||
#define MI_OpenTasks "MI_OpenTasks"
|
#define MI_OpenTasks "MI_OpenTasks"
|
||||||
|
@ -228,6 +229,7 @@
|
||||||
#define MI_OpenFunctionEditor "MI_OpenFunctionEditor"
|
#define MI_OpenFunctionEditor "MI_OpenFunctionEditor"
|
||||||
#define MI_OpenLevelView "MI_OpenLevelView"
|
#define MI_OpenLevelView "MI_OpenLevelView"
|
||||||
#define MI_OpenXshView "MI_OpenXshView"
|
#define MI_OpenXshView "MI_OpenXshView"
|
||||||
|
#define MI_OpenTimelineView "MI_OpenTimelineView"
|
||||||
#define MI_OpenCleanupSettings "MI_OpenCleanupSettings"
|
#define MI_OpenCleanupSettings "MI_OpenCleanupSettings"
|
||||||
#define MI_ResetRoomLayout "MI_ResetRoomLayout"
|
#define MI_ResetRoomLayout "MI_ResetRoomLayout"
|
||||||
#define MI_MaximizePanel "MI_MaximizePanel"
|
#define MI_MaximizePanel "MI_MaximizePanel"
|
||||||
|
|
|
@ -1193,6 +1193,14 @@ void PreferencesPopup::onCursorOutlineChanged(int index) {
|
||||||
m_pref->enableCursorOutline(index == Qt::Checked);
|
m_pref->enableCursorOutline(index == Qt::Checked);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
void PreferencesPopup::onCurrentColumnDataChanged(const TPixel32 &,
|
||||||
|
bool isDragging) {
|
||||||
|
if (isDragging) return;
|
||||||
|
m_pref->setCurrentColumnData(m_currentColumnColor->getColor());
|
||||||
|
}
|
||||||
|
|
||||||
//**********************************************************************************
|
//**********************************************************************************
|
||||||
// PrefencesPopup's constructor
|
// PrefencesPopup's constructor
|
||||||
//**********************************************************************************
|
//**********************************************************************************
|
||||||
|
@ -1456,6 +1464,10 @@ PreferencesPopup::PreferencesPopup()
|
||||||
new QLabel(tr("* Changes will take effect the next time you run Toonz"));
|
new QLabel(tr("* Changes will take effect the next time you run Toonz"));
|
||||||
note_xsheet->setStyleSheet("font-size: 10px; font: italic;");
|
note_xsheet->setStyleSheet("font-size: 10px; font: italic;");
|
||||||
|
|
||||||
|
TPixel32 currectColumnColor;
|
||||||
|
m_pref->getCurrentColumnData(currectColumnColor);
|
||||||
|
m_currentColumnColor = new ColorField(this, false, currectColumnColor);
|
||||||
|
|
||||||
//--- Animation ------------------------------
|
//--- Animation ------------------------------
|
||||||
categoryList->addItem(tr("Animation"));
|
categoryList->addItem(tr("Animation"));
|
||||||
|
|
||||||
|
@ -2411,6 +2423,10 @@ PreferencesPopup::PreferencesPopup()
|
||||||
xsheetFrameLay->addWidget(showColumnNumbersCB, 12, 0, 1, 2);
|
xsheetFrameLay->addWidget(showColumnNumbersCB, 12, 0, 1, 2);
|
||||||
xsheetFrameLay->addWidget(m_syncLevelRenumberWithXsheet, 13, 0, 1, 2);
|
xsheetFrameLay->addWidget(m_syncLevelRenumberWithXsheet, 13, 0, 1, 2);
|
||||||
xsheetFrameLay->addWidget(showCurrentTimelineCB, 14, 0, 1, 2);
|
xsheetFrameLay->addWidget(showCurrentTimelineCB, 14, 0, 1, 2);
|
||||||
|
|
||||||
|
xsheetFrameLay->addWidget(new QLabel(tr("Current Column Color:")), 15,
|
||||||
|
0, Qt::AlignRight | Qt::AlignVCenter);
|
||||||
|
xsheetFrameLay->addWidget(m_currentColumnColor, 15, 1);
|
||||||
}
|
}
|
||||||
xsheetFrameLay->setColumnStretch(0, 0);
|
xsheetFrameLay->setColumnStretch(0, 0);
|
||||||
xsheetFrameLay->setColumnStretch(1, 0);
|
xsheetFrameLay->setColumnStretch(1, 0);
|
||||||
|
@ -2849,6 +2865,11 @@ PreferencesPopup::PreferencesPopup()
|
||||||
ret = ret && connect(m_xsheetLayout, SIGNAL(currentIndexChanged(int)), this,
|
ret = ret && connect(m_xsheetLayout, SIGNAL(currentIndexChanged(int)), this,
|
||||||
SLOT(onXsheetLayoutChanged(int)));
|
SLOT(onXsheetLayoutChanged(int)));
|
||||||
|
|
||||||
|
ret =
|
||||||
|
ret && connect(m_currentColumnColor,
|
||||||
|
SIGNAL(colorChanged(const TPixel32 &, bool)),
|
||||||
|
SLOT(onCurrentColumnDataChanged(const TPixel32 &, bool)));
|
||||||
|
|
||||||
//--- Animation ----------------------
|
//--- Animation ----------------------
|
||||||
ret = ret && connect(m_keyframeType, SIGNAL(currentIndexChanged(int)),
|
ret = ret && connect(m_keyframeType, SIGNAL(currentIndexChanged(int)),
|
||||||
SLOT(onKeyframeTypeChanged(int)));
|
SLOT(onKeyframeTypeChanged(int)));
|
||||||
|
|
|
@ -89,6 +89,8 @@ private:
|
||||||
|
|
||||||
QGroupBox *m_autoSaveGroup, *m_showXSheetToolbar, *m_colorCalibration;
|
QGroupBox *m_autoSaveGroup, *m_showXSheetToolbar, *m_colorCalibration;
|
||||||
|
|
||||||
|
DVGui::ColorField *m_currentColumnColor;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// QWidget* create(const QString& lbl, bool def, const char* slot);
|
// QWidget* create(const QString& lbl, bool def, const char* slot);
|
||||||
void rebuildFormatsList();
|
void rebuildFormatsList();
|
||||||
|
@ -211,6 +213,7 @@ private slots:
|
||||||
void onCursorBrushTypeChanged(int index);
|
void onCursorBrushTypeChanged(int index);
|
||||||
void onCursorBrushStyleChanged(int index);
|
void onCursorBrushStyleChanged(int index);
|
||||||
void onCursorOutlineChanged(int);
|
void onCursorOutlineChanged(int);
|
||||||
|
void onCurrentColumnDataChanged(const TPixel32 &, bool isDragging);
|
||||||
};
|
};
|
||||||
|
|
||||||
//**********************************************************************************
|
//**********************************************************************************
|
||||||
|
|
|
@ -463,5 +463,7 @@
|
||||||
<file>Resources/colorchiporder_leftup.svg</file>
|
<file>Resources/colorchiporder_leftup.svg</file>
|
||||||
<file>Resources/colorchiporder_lowleft.svg</file>
|
<file>Resources/colorchiporder_lowleft.svg</file>
|
||||||
<file>Resources/colorchiporder_upleft.svg</file>
|
<file>Resources/colorchiporder_upleft.svg</file>
|
||||||
|
<file>Resources/timeline2xsheet.svg</file>
|
||||||
|
<file>Resources/xsheet2timeline.svg</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|
|
@ -100,6 +100,21 @@ public:
|
||||||
}
|
}
|
||||||
} xsheetViewerFactory;
|
} xsheetViewerFactory;
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
// XsheetViewer - Timeline mode
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class TimelineViewerFactory final : public TPanelFactory {
|
||||||
|
public:
|
||||||
|
TimelineViewerFactory() : TPanelFactory("Timeline") {}
|
||||||
|
void initialize(TPanel *panel) override {
|
||||||
|
panel->setWidget(new XsheetViewer(panel));
|
||||||
|
XsheetViewer *xsh = (XsheetViewer *)panel->widget();
|
||||||
|
xsh->flipOrientation();
|
||||||
|
panel->resize(500, 300);
|
||||||
|
}
|
||||||
|
} timelineViewerFactory;
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
// SchematicSceneViewer
|
// SchematicSceneViewer
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
|
@ -1046,6 +1046,46 @@ void CellArea::setDragTool(DragTool *dragTool) {
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
void CellArea::drawFrameSeparator(QPainter &p, int row, int col,
|
||||||
|
bool emptyFrame, bool heldFrame) {
|
||||||
|
const Orientation *o = m_viewer->orientation();
|
||||||
|
int layerAxis = m_viewer->columnToLayerAxis(col);
|
||||||
|
|
||||||
|
NumberRange layerAxisRange(layerAxis + 1,
|
||||||
|
m_viewer->columnToLayerAxis(col + 1));
|
||||||
|
if (!o->isVerticalTimeline()) {
|
||||||
|
int adjY = o->cellHeight() - 1;
|
||||||
|
layerAxisRange = NumberRange(layerAxis + 1, layerAxis + adjY);
|
||||||
|
}
|
||||||
|
|
||||||
|
// marker interval every 6 frames
|
||||||
|
int distance, offset;
|
||||||
|
TApp::instance()->getCurrentScene()->getScene()->getProperties()->getMarkers(
|
||||||
|
distance, offset);
|
||||||
|
// if (distance == 0) distance = 6;
|
||||||
|
|
||||||
|
bool isAfterMarkers =
|
||||||
|
distance > 0 && ((row - offset) % distance) == 0 && row != 0;
|
||||||
|
QColor color = isAfterMarkers ? m_viewer->getMarkerLineColor()
|
||||||
|
: m_viewer->getLightLineColor();
|
||||||
|
|
||||||
|
int frameAxis = m_viewer->rowToFrameAxis(row);
|
||||||
|
QLine horizontalLine = m_viewer->orientation()->horizontalLine(
|
||||||
|
frameAxis,
|
||||||
|
layerAxisRange.adjusted((o->isVerticalTimeline() ? 0 : -1), 0));
|
||||||
|
if (heldFrame) {
|
||||||
|
int x = horizontalLine.x1();
|
||||||
|
int y = horizontalLine.y2() - 1;
|
||||||
|
horizontalLine.setP1(QPoint(x, y));
|
||||||
|
color.setAlpha(150);
|
||||||
|
} else if (!o->isVerticalTimeline() && !isAfterMarkers && emptyFrame)
|
||||||
|
color.setAlpha(100);
|
||||||
|
p.setPen(color);
|
||||||
|
p.drawLine(horizontalLine);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
void CellArea::drawCells(QPainter &p, const QRect toBeUpdated) {
|
void CellArea::drawCells(QPainter &p, const QRect toBeUpdated) {
|
||||||
TXsheet *xsh = m_viewer->getXsheet();
|
TXsheet *xsh = m_viewer->getXsheet();
|
||||||
const Orientation *o = m_viewer->orientation();
|
const Orientation *o = m_viewer->orientation();
|
||||||
|
@ -1072,12 +1112,6 @@ void CellArea::drawCells(QPainter &p, const QRect toBeUpdated) {
|
||||||
|
|
||||||
drawSelectionBackground(p);
|
drawSelectionBackground(p);
|
||||||
|
|
||||||
// marker interval every 6 frames
|
|
||||||
int distance, offset;
|
|
||||||
TApp::instance()->getCurrentScene()->getScene()->getProperties()->getMarkers(
|
|
||||||
distance, offset);
|
|
||||||
if (distance == 0) distance = 6;
|
|
||||||
|
|
||||||
int currentRow = m_viewer->getCurrentRow();
|
int currentRow = m_viewer->getCurrentRow();
|
||||||
int col, row;
|
int col, row;
|
||||||
|
|
||||||
|
@ -1134,36 +1168,10 @@ void CellArea::drawCells(QPainter &p, const QRect toBeUpdated) {
|
||||||
isReference = false;
|
isReference = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
NumberRange layerAxisRange(layerAxis + 1,
|
|
||||||
m_viewer->columnToLayerAxis(col + 1));
|
|
||||||
if (!m_viewer->orientation()->isVerticalTimeline()) {
|
|
||||||
int adjY = m_viewer->orientation()->cellHeight() - 1;
|
|
||||||
layerAxisRange = NumberRange(layerAxis + 1, layerAxis + adjY);
|
|
||||||
}
|
|
||||||
|
|
||||||
// draw vertical line
|
|
||||||
if (layerAxis > 0) {
|
|
||||||
p.setPen(m_viewer->getVerticalLineColor());
|
|
||||||
QLine verticalLine =
|
|
||||||
m_viewer->orientation()->verticalLine(layerAxis, frameSide);
|
|
||||||
p.drawLine(verticalLine);
|
|
||||||
}
|
|
||||||
|
|
||||||
// for each frame
|
// for each frame
|
||||||
for (row = r0; row <= r1; row++) {
|
for (row = r0; row <= r1; row++) {
|
||||||
// draw horizontal lines
|
|
||||||
// hide top-most marker line
|
|
||||||
QColor color = ((row - offset) % distance == 0 && row != 0)
|
|
||||||
? m_viewer->getMarkerLineColor()
|
|
||||||
: m_viewer->getLightLineColor();
|
|
||||||
|
|
||||||
p.setPen(color);
|
|
||||||
int frameAxis = m_viewer->rowToFrameAxis(row);
|
|
||||||
QLine horizontalLine =
|
|
||||||
m_viewer->orientation()->horizontalLine(frameAxis, layerAxisRange);
|
|
||||||
p.drawLine(horizontalLine);
|
|
||||||
|
|
||||||
if (!isColumn) {
|
if (!isColumn) {
|
||||||
|
drawFrameSeparator(p, row, col, true);
|
||||||
if (TApp::instance()->getCurrentFrame()->isEditingScene() &&
|
if (TApp::instance()->getCurrentFrame()->isEditingScene() &&
|
||||||
!m_viewer->orientation()->isVerticalTimeline() &&
|
!m_viewer->orientation()->isVerticalTimeline() &&
|
||||||
row == m_viewer->getCurrentRow() &&
|
row == m_viewer->getCurrentRow() &&
|
||||||
|
@ -1191,6 +1199,14 @@ void CellArea::drawCells(QPainter &p, const QRect toBeUpdated) {
|
||||||
else
|
else
|
||||||
drawLevelCell(p, row, col, isReference);
|
drawLevelCell(p, row, col, isReference);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// draw vertical line
|
||||||
|
if (layerAxis > 0) {
|
||||||
|
p.setPen(m_viewer->getVerticalLineColor());
|
||||||
|
QLine verticalLine =
|
||||||
|
m_viewer->orientation()->verticalLine(layerAxis, frameSide);
|
||||||
|
p.drawLine(verticalLine);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
drawExtenderHandles(p);
|
drawExtenderHandles(p);
|
||||||
|
@ -1307,7 +1323,7 @@ void CellArea::drawExtenderHandles(QPainter &p) {
|
||||||
int distance, offset;
|
int distance, offset;
|
||||||
TApp::instance()->getCurrentScene()->getScene()->getProperties()->getMarkers(
|
TApp::instance()->getCurrentScene()->getScene()->getProperties()->getMarkers(
|
||||||
distance, offset);
|
distance, offset);
|
||||||
if (distance == 0) distance = 6;
|
// if (distance == 0) distance = 6;
|
||||||
|
|
||||||
QPoint xyRadius = o->point(PredefinedPoint::EXTENDER_XY_RADIUS);
|
QPoint xyRadius = o->point(PredefinedPoint::EXTENDER_XY_RADIUS);
|
||||||
|
|
||||||
|
@ -1318,7 +1334,7 @@ void CellArea::drawExtenderHandles(QPainter &p) {
|
||||||
p.setPen(Qt::black);
|
p.setPen(Qt::black);
|
||||||
p.setBrush(SmartTabColor);
|
p.setBrush(SmartTabColor);
|
||||||
p.drawRoundRect(m_levelExtenderRect, xyRadius.x(), xyRadius.y());
|
p.drawRoundRect(m_levelExtenderRect, xyRadius.x(), xyRadius.y());
|
||||||
QColor color = ((selRow1 + 1 - offset) % distance != 0)
|
QColor color = (distance > 0 && ((selRow1 + 1 - offset) % distance) != 0)
|
||||||
? m_viewer->getLightLineColor()
|
? m_viewer->getLightLineColor()
|
||||||
: m_viewer->getMarkerLineColor();
|
: m_viewer->getMarkerLineColor();
|
||||||
p.setPen(color);
|
p.setPen(color);
|
||||||
|
@ -1334,7 +1350,7 @@ void CellArea::drawExtenderHandles(QPainter &p) {
|
||||||
p.setPen(Qt::black);
|
p.setPen(Qt::black);
|
||||||
p.setBrush(SmartTabColor);
|
p.setBrush(SmartTabColor);
|
||||||
p.drawRoundRect(m_upperLevelExtenderRect, xyRadius.x(), xyRadius.y());
|
p.drawRoundRect(m_upperLevelExtenderRect, xyRadius.x(), xyRadius.y());
|
||||||
QColor color = ((selRow0 - offset) % distance != 0)
|
QColor color = (distance > 0 && ((selRow0 - offset) % distance) != 0)
|
||||||
? m_viewer->getLightLineColor()
|
? m_viewer->getLightLineColor()
|
||||||
: m_viewer->getMarkerLineColor();
|
: m_viewer->getMarkerLineColor();
|
||||||
p.setPen(color);
|
p.setPen(color);
|
||||||
|
@ -1360,16 +1376,26 @@ void CellArea::drawSoundCell(QPainter &p, int row, int col, bool isReference) {
|
||||||
xy.setX(xy.x() + 1);
|
xy.setX(xy.x() + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TXshCell nextCell;
|
||||||
|
nextCell =
|
||||||
|
m_viewer->getXsheet()->getCell(row + 1, col); // cell in next frame
|
||||||
|
|
||||||
int frameAdj = m_viewer->getFrameZoomAdjustment();
|
int frameAdj = m_viewer->getFrameZoomAdjustment();
|
||||||
int frameZoomF = m_viewer->getFrameZoomFactor();
|
int frameZoomF = m_viewer->getFrameZoomFactor();
|
||||||
QRect cellRect = o->rect(PredefinedRect::CELL).translated(QPoint(x, y));
|
QRect cellRect = o->rect(PredefinedRect::CELL).translated(QPoint(x, y));
|
||||||
cellRect.adjust(0, 0, -frameAdj, 0);
|
cellRect.adjust(0, 0, -frameAdj, 0);
|
||||||
QRect rect = cellRect.adjusted(1, 1, 0, 0);
|
QRect rect = cellRect.adjusted(
|
||||||
|
1, 1,
|
||||||
|
(!m_viewer->orientation()->isVerticalTimeline() && !nextCell.isEmpty()
|
||||||
|
? 2
|
||||||
|
: 0),
|
||||||
|
0);
|
||||||
int maxNumFrame = soundColumn->getMaxFrame() + 1;
|
int maxNumFrame = soundColumn->getMaxFrame() + 1;
|
||||||
int startFrame = soundColumn->getFirstRow();
|
int startFrame = soundColumn->getFirstRow();
|
||||||
TXshCell cell = soundColumn->getCell(row);
|
TXshCell cell = soundColumn->getCell(row);
|
||||||
if (soundColumn->isCellEmpty(row) || cell.isEmpty() || row > maxNumFrame ||
|
if (soundColumn->isCellEmpty(row) || cell.isEmpty() || row > maxNumFrame ||
|
||||||
row < startFrame) {
|
row < startFrame) {
|
||||||
|
drawFrameSeparator(p, row, col, true);
|
||||||
if (TApp::instance()->getCurrentFrame()->isEditingScene() &&
|
if (TApp::instance()->getCurrentFrame()->isEditingScene() &&
|
||||||
!m_viewer->orientation()->isVerticalTimeline() &&
|
!m_viewer->orientation()->isVerticalTimeline() &&
|
||||||
row == m_viewer->getCurrentRow() &&
|
row == m_viewer->getCurrentRow() &&
|
||||||
|
@ -1378,6 +1404,8 @@ void CellArea::drawSoundCell(QPainter &p, int row, int col, bool isReference) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (o->isVerticalTimeline() || !row) drawFrameSeparator(p, row, col, false);
|
||||||
|
|
||||||
TXshSoundLevelP soundLevel = cell.getSoundLevel();
|
TXshSoundLevelP soundLevel = cell.getSoundLevel();
|
||||||
|
|
||||||
int r0, r1;
|
int r0, r1;
|
||||||
|
@ -1472,7 +1500,7 @@ void CellArea::drawSoundCell(QPainter &p, int row, int col, bool isReference) {
|
||||||
QLine stroke = o->horizontalLine(i, previewBounds.adjusted(-1, -1));
|
QLine stroke = o->horizontalLine(i, previewBounds.adjusted(-1, -1));
|
||||||
p.drawLine(stroke);
|
p.drawLine(stroke);
|
||||||
}
|
}
|
||||||
if (i != begin) {
|
if (!o->isVerticalTimeline() || i != begin) {
|
||||||
// "audio track" in the middle of the column
|
// "audio track" in the middle of the column
|
||||||
p.setPen(m_viewer->getSoundColumnTrackColor());
|
p.setPen(m_viewer->getSoundColumnTrackColor());
|
||||||
QLine minLine = o->horizontalLine(i, NumberRange(lastMin, min));
|
QLine minLine = o->horizontalLine(i, NumberRange(lastMin, min));
|
||||||
|
@ -1512,11 +1540,12 @@ void CellArea::drawSoundCell(QPainter &p, int row, int col, bool isReference) {
|
||||||
int distance, markerOffset;
|
int distance, markerOffset;
|
||||||
TApp::instance()->getCurrentScene()->getScene()->getProperties()->getMarkers(
|
TApp::instance()->getCurrentScene()->getScene()->getProperties()->getMarkers(
|
||||||
distance, markerOffset);
|
distance, markerOffset);
|
||||||
|
// if (distance == 0) distance = 6;
|
||||||
bool isAfterMarkers =
|
bool isAfterMarkers =
|
||||||
(row - markerOffset) % distance == 0 && distance != 0 && row != 0;
|
distance > 0 && ((row - markerOffset) % distance) == 0 && row != 0;
|
||||||
|
|
||||||
// draw marker interval
|
// draw marker interval
|
||||||
if (isAfterMarkers) {
|
if (o->isVerticalTimeline() && isAfterMarkers) {
|
||||||
p.setPen(m_viewer->getMarkerLineColor());
|
p.setPen(m_viewer->getMarkerLineColor());
|
||||||
p.drawLine(o->line(PredefinedLine::SEE_MARKER_THROUGH).translated(xy));
|
p.drawLine(o->line(PredefinedLine::SEE_MARKER_THROUGH).translated(xy));
|
||||||
}
|
}
|
||||||
|
@ -1580,15 +1609,25 @@ void CellArea::drawCurrentTimeIndicator(QPainter &p, const QPoint &xy,
|
||||||
p.drawLine(cellMid, cellTop, cellMid, cellBottom);
|
p.drawLine(cellMid, cellTop, cellMid, cellBottom);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CellArea::drawFrameDot(QPainter &p, const QPoint &xy, bool isValid) {
|
void CellArea::drawFrameMarker(QPainter &p, const QPoint &xy, QColor color,
|
||||||
int frameAdj = m_viewer->getFrameZoomAdjustment();
|
bool isKeyFrame) {
|
||||||
QRect dotRect =
|
QColor outlineColor = Qt::black;
|
||||||
m_viewer->orientation()->rect(PredefinedRect::FRAME_DOT).translated(xy);
|
int frameAdj = m_viewer->getFrameZoomAdjustment();
|
||||||
p.setPen(Qt::black);
|
QRect dotRect = m_viewer->orientation()
|
||||||
p.setBrush(isValid ? QColor(230, 100, 100) : m_viewer->getTextColor());
|
->rect(PredefinedRect::FRAME_MARKER_AREA)
|
||||||
|
.translated(xy);
|
||||||
dotRect.adjust(-frameAdj / 2, 0, -frameAdj / 2, 0);
|
dotRect.adjust(-frameAdj / 2, 0, -frameAdj / 2, 0);
|
||||||
p.drawEllipse(dotRect);
|
|
||||||
p.setBrush(Qt::NoBrush);
|
if (isKeyFrame)
|
||||||
|
m_viewer->drawPredefinedPath(p, PredefinedPath::FRAME_MARKER_DIAMOND,
|
||||||
|
dotRect.adjusted(1, 1, 1, 1).center(), color,
|
||||||
|
outlineColor);
|
||||||
|
else {
|
||||||
|
p.setPen(outlineColor);
|
||||||
|
p.setBrush(color);
|
||||||
|
p.drawEllipse(dotRect);
|
||||||
|
p.setBrush(Qt::NoBrush);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
@ -1607,6 +1646,8 @@ void CellArea::drawLevelCell(QPainter &p, int row, int col, bool isReference) {
|
||||||
|
|
||||||
if (row > 0) prevCell = xsh->getCell(row - 1, col); // cell in previous frame
|
if (row > 0) prevCell = xsh->getCell(row - 1, col); // cell in previous frame
|
||||||
|
|
||||||
|
bool sameLevel = prevCell.m_level.getPointer() == cell.m_level.getPointer();
|
||||||
|
|
||||||
QPoint xy = m_viewer->positionToXY(CellPosition(row, col));
|
QPoint xy = m_viewer->positionToXY(CellPosition(row, col));
|
||||||
int x = xy.x();
|
int x = xy.x();
|
||||||
int y = xy.y();
|
int y = xy.y();
|
||||||
|
@ -1619,6 +1660,8 @@ void CellArea::drawLevelCell(QPainter &p, int row, int col, bool isReference) {
|
||||||
|
|
||||||
// nothing to draw
|
// nothing to draw
|
||||||
if (cell.isEmpty() && prevCell.isEmpty()) {
|
if (cell.isEmpty() && prevCell.isEmpty()) {
|
||||||
|
drawFrameSeparator(p, row, col, true);
|
||||||
|
|
||||||
if (TApp::instance()->getCurrentFrame()->isEditingScene() &&
|
if (TApp::instance()->getCurrentFrame()->isEditingScene() &&
|
||||||
!m_viewer->orientation()->isVerticalTimeline() &&
|
!m_viewer->orientation()->isVerticalTimeline() &&
|
||||||
row == m_viewer->getCurrentRow() &&
|
row == m_viewer->getCurrentRow() &&
|
||||||
|
@ -1626,13 +1669,23 @@ void CellArea::drawLevelCell(QPainter &p, int row, int col, bool isReference) {
|
||||||
drawCurrentTimeIndicator(p, xy);
|
drawCurrentTimeIndicator(p, xy);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool heldFrame = (!o->isVerticalTimeline() && sameLevel &&
|
||||||
|
prevCell.m_frameId == cell.m_frameId);
|
||||||
|
drawFrameSeparator(p, row, col, false, heldFrame);
|
||||||
|
|
||||||
TXshCell nextCell;
|
TXshCell nextCell;
|
||||||
nextCell = xsh->getCell(row + 1, col); // cell in next frame
|
nextCell = xsh->getCell(row + 1, col); // cell in next frame
|
||||||
|
|
||||||
int frameAdj = m_viewer->getFrameZoomAdjustment();
|
int frameAdj = m_viewer->getFrameZoomAdjustment();
|
||||||
QRect cellRect = o->rect(PredefinedRect::CELL).translated(QPoint(x, y));
|
QRect cellRect = o->rect(PredefinedRect::CELL).translated(QPoint(x, y));
|
||||||
cellRect.adjust(0, 0, -frameAdj, 0);
|
cellRect.adjust(0, 0, -frameAdj, 0);
|
||||||
QRect rect = cellRect.adjusted(1, 1, 0, 0);
|
QRect rect = cellRect.adjusted(
|
||||||
|
1, 1,
|
||||||
|
(!m_viewer->orientation()->isVerticalTimeline() && !nextCell.isEmpty()
|
||||||
|
? 2
|
||||||
|
: 0),
|
||||||
|
0);
|
||||||
if (cell.isEmpty()) { // it means previous is not empty
|
if (cell.isEmpty()) { // it means previous is not empty
|
||||||
// diagonal cross meaning end of level
|
// diagonal cross meaning end of level
|
||||||
QColor levelEndColor = m_viewer->getTextColor();
|
QColor levelEndColor = m_viewer->getTextColor();
|
||||||
|
@ -1700,16 +1753,15 @@ void CellArea::drawLevelCell(QPainter &p, int row, int col, bool isReference) {
|
||||||
|
|
||||||
drawLockedDottedLine(p, xsh->getColumn(col)->isLocked(), xy, cellColor);
|
drawLockedDottedLine(p, xsh->getColumn(col)->isLocked(), xy, cellColor);
|
||||||
|
|
||||||
bool sameLevel = prevCell.m_level.getPointer() == cell.m_level.getPointer();
|
|
||||||
|
|
||||||
int distance, offset;
|
int distance, offset;
|
||||||
TApp::instance()->getCurrentScene()->getScene()->getProperties()->getMarkers(
|
TApp::instance()->getCurrentScene()->getScene()->getProperties()->getMarkers(
|
||||||
distance, offset);
|
distance, offset);
|
||||||
|
// if (distance == 0) distance = 6;
|
||||||
bool isAfterMarkers =
|
bool isAfterMarkers =
|
||||||
(row - offset) % distance == 0 && distance != 0 && row != 0;
|
distance > 0 && ((row - offset) % distance) == 0 && row != 0;
|
||||||
|
|
||||||
// draw marker interval
|
// draw marker interval
|
||||||
if (isAfterMarkers) {
|
if (o->isVerticalTimeline() && isAfterMarkers) {
|
||||||
p.setPen(m_viewer->getMarkerLineColor());
|
p.setPen(m_viewer->getMarkerLineColor());
|
||||||
p.drawLine(o->line(PredefinedLine::SEE_MARKER_THROUGH).translated(xy));
|
p.drawLine(o->line(PredefinedLine::SEE_MARKER_THROUGH).translated(xy));
|
||||||
}
|
}
|
||||||
|
@ -1733,9 +1785,10 @@ void CellArea::drawLevelCell(QPainter &p, int row, int col, bool isReference) {
|
||||||
TXshChildLevel *cl = cell.getChildLevel();
|
TXshChildLevel *cl = cell.getChildLevel();
|
||||||
if (cl && cell.getFrameId().getNumber() - 1 >= cl->getFrameCount())
|
if (cl && cell.getFrameId().getNumber() - 1 >= cl->getFrameCount())
|
||||||
isRed = true;
|
isRed = true;
|
||||||
p.setPen(
|
QColor penColor =
|
||||||
isRed ? QColor(230, 100, 100) // m_viewer->getSelectedColumnTextColor()
|
isRed ? QColor(230, 100, 100) // m_viewer->getSelectedColumnTextColor()
|
||||||
: m_viewer->getTextColor());
|
: m_viewer->getTextColor();
|
||||||
|
p.setPen(penColor);
|
||||||
|
|
||||||
QString fontName = Preferences::instance()->getInterfaceFont();
|
QString fontName = Preferences::instance()->getInterfaceFont();
|
||||||
if (fontName == "") {
|
if (fontName == "") {
|
||||||
|
@ -1756,6 +1809,8 @@ void CellArea::drawLevelCell(QPainter &p, int row, int col, bool isReference) {
|
||||||
// draw continue line
|
// draw continue line
|
||||||
QString fnum;
|
QString fnum;
|
||||||
if (sameLevel && prevCell.m_frameId == cell.m_frameId) {
|
if (sameLevel && prevCell.m_frameId == cell.m_frameId) {
|
||||||
|
if (!o->isVerticalTimeline()) return;
|
||||||
|
|
||||||
// not on line marker
|
// not on line marker
|
||||||
PredefinedLine which =
|
PredefinedLine which =
|
||||||
Preferences::instance()->isLevelNameOnEachMarkerEnabled()
|
Preferences::instance()->isLevelNameOnEachMarkerEnabled()
|
||||||
|
@ -1769,7 +1824,11 @@ void CellArea::drawLevelCell(QPainter &p, int row, int col, bool isReference) {
|
||||||
// draw frame number
|
// draw frame number
|
||||||
else {
|
else {
|
||||||
if (m_viewer->getFrameZoomFactor() <= 50) {
|
if (m_viewer->getFrameZoomFactor() <= 50) {
|
||||||
drawFrameDot(p, QPoint(x, y), isRed);
|
// Lets not draw normal marker if there is a keyframe here
|
||||||
|
TStageObject *pegbar = xsh->getStageObject(m_viewer->getObjectId(col));
|
||||||
|
if (pegbar->isKeyframe(row)) return;
|
||||||
|
|
||||||
|
drawFrameMarker(p, QPoint(x, y), (isRed ? Qt::red : Qt::black));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1825,6 +1884,9 @@ void CellArea::drawSoundTextCell(QPainter &p, int row, int col) {
|
||||||
|
|
||||||
if (row > 0) prevCell = xsh->getCell(row - 1, col); // cell in previous frame
|
if (row > 0) prevCell = xsh->getCell(row - 1, col); // cell in previous frame
|
||||||
// nothing to draw
|
// nothing to draw
|
||||||
|
|
||||||
|
bool sameLevel = prevCell.m_level.getPointer() == cell.m_level.getPointer();
|
||||||
|
|
||||||
QPoint xy = m_viewer->positionToXY(CellPosition(row, col));
|
QPoint xy = m_viewer->positionToXY(CellPosition(row, col));
|
||||||
int x = xy.x();
|
int x = xy.x();
|
||||||
int y = xy.y();
|
int y = xy.y();
|
||||||
|
@ -1836,6 +1898,7 @@ void CellArea::drawSoundTextCell(QPainter &p, int row, int col) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cell.isEmpty() && prevCell.isEmpty()) {
|
if (cell.isEmpty() && prevCell.isEmpty()) {
|
||||||
|
drawFrameSeparator(p, row, col, true);
|
||||||
if (TApp::instance()->getCurrentFrame()->isEditingScene() &&
|
if (TApp::instance()->getCurrentFrame()->isEditingScene() &&
|
||||||
!m_viewer->orientation()->isVerticalTimeline() &&
|
!m_viewer->orientation()->isVerticalTimeline() &&
|
||||||
row == m_viewer->getCurrentRow() &&
|
row == m_viewer->getCurrentRow() &&
|
||||||
|
@ -1844,13 +1907,23 @@ void CellArea::drawSoundTextCell(QPainter &p, int row, int col) {
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool heldFrame = (!o->isVerticalTimeline() && sameLevel &&
|
||||||
|
prevCell.m_frameId == cell.m_frameId);
|
||||||
|
drawFrameSeparator(p, row, col, false, heldFrame);
|
||||||
|
|
||||||
TXshCell nextCell;
|
TXshCell nextCell;
|
||||||
nextCell = xsh->getCell(row + 1, col);
|
nextCell = xsh->getCell(row + 1, col);
|
||||||
|
|
||||||
int frameAdj = m_viewer->getFrameZoomAdjustment();
|
int frameAdj = m_viewer->getFrameZoomAdjustment();
|
||||||
QRect cellRect = o->rect(PredefinedRect::CELL).translated(QPoint(x, y));
|
QRect cellRect = o->rect(PredefinedRect::CELL).translated(QPoint(x, y));
|
||||||
cellRect.adjust(0, 0, -frameAdj, 0);
|
cellRect.adjust(0, 0, -frameAdj, 0);
|
||||||
QRect rect = cellRect.adjusted(1, 1, 0, 0);
|
QRect rect = cellRect.adjusted(
|
||||||
|
1, 1,
|
||||||
|
(!m_viewer->orientation()->isVerticalTimeline() && !nextCell.isEmpty()
|
||||||
|
? 2
|
||||||
|
: 0),
|
||||||
|
0);
|
||||||
if (cell.isEmpty()) { // diagonal cross meaning end of level
|
if (cell.isEmpty()) { // diagonal cross meaning end of level
|
||||||
QColor levelEndColor = m_viewer->getTextColor();
|
QColor levelEndColor = m_viewer->getTextColor();
|
||||||
levelEndColor.setAlphaF(0.3);
|
levelEndColor.setAlphaF(0.3);
|
||||||
|
@ -1888,18 +1961,19 @@ void CellArea::drawSoundTextCell(QPainter &p, int row, int col) {
|
||||||
drawEndOfDragHandle(p, isLastRow, xy, cellColor);
|
drawEndOfDragHandle(p, isLastRow, xy, cellColor);
|
||||||
|
|
||||||
drawLockedDottedLine(p, xsh->getColumn(col)->isLocked(), xy, cellColor);
|
drawLockedDottedLine(p, xsh->getColumn(col)->isLocked(), xy, cellColor);
|
||||||
bool sameLevel = prevCell.m_level.getPointer() == cell.m_level.getPointer();
|
|
||||||
|
|
||||||
TFrameId fid = cell.m_frameId;
|
TFrameId fid = cell.m_frameId;
|
||||||
if (fid.getNumber() - 1 < 0) return;
|
if (fid.getNumber() - 1 < 0) return;
|
||||||
|
|
||||||
int distance, offset;
|
int distance, offset;
|
||||||
TApp::instance()->getCurrentScene()->getScene()->getProperties()->getMarkers(
|
TApp::instance()->getCurrentScene()->getScene()->getProperties()->getMarkers(
|
||||||
distance, offset);
|
distance, offset);
|
||||||
|
// if (distance == 0) distance = 6;
|
||||||
bool isAfterMarkers =
|
bool isAfterMarkers =
|
||||||
(row - offset) % distance == 0 && distance != 0 && row != 0;
|
distance > 0 && ((row - offset) % distance) == 0 && row != 0;
|
||||||
|
|
||||||
// draw marker interval
|
// draw marker interval
|
||||||
if (isAfterMarkers) {
|
if (o->isVerticalTimeline() && isAfterMarkers) {
|
||||||
p.setPen(m_viewer->getMarkerLineColor());
|
p.setPen(m_viewer->getMarkerLineColor());
|
||||||
p.drawLine(o->line(PredefinedLine::SEE_MARKER_THROUGH).translated(xy));
|
p.drawLine(o->line(PredefinedLine::SEE_MARKER_THROUGH).translated(xy));
|
||||||
}
|
}
|
||||||
|
@ -1925,6 +1999,7 @@ void CellArea::drawSoundTextCell(QPainter &p, int row, int col) {
|
||||||
// if the same level & same fId with the previous cell,
|
// if the same level & same fId with the previous cell,
|
||||||
// draw continue line
|
// draw continue line
|
||||||
if (sameLevel && prevCell.m_frameId == cell.m_frameId) {
|
if (sameLevel && prevCell.m_frameId == cell.m_frameId) {
|
||||||
|
if (!o->isVerticalTimeline()) return;
|
||||||
// not on line marker
|
// not on line marker
|
||||||
PredefinedLine which =
|
PredefinedLine which =
|
||||||
Preferences::instance()->isLevelNameOnEachMarkerEnabled()
|
Preferences::instance()->isLevelNameOnEachMarkerEnabled()
|
||||||
|
@ -1969,6 +2044,19 @@ void CellArea::drawPaletteCell(QPainter &p, int row, int col,
|
||||||
if (row > 0) prevCell = xsh->getCell(row - 1, col);
|
if (row > 0) prevCell = xsh->getCell(row - 1, col);
|
||||||
TXshCell nextCell = xsh->getCell(row + 1, col);
|
TXshCell nextCell = xsh->getCell(row + 1, col);
|
||||||
|
|
||||||
|
bool sameLevel = prevCell.m_level.getPointer() == cell.m_level.getPointer();
|
||||||
|
|
||||||
|
int distance, offset;
|
||||||
|
TApp::instance()->getCurrentScene()->getScene()->getProperties()->getMarkers(
|
||||||
|
distance, offset);
|
||||||
|
// if (distance == 0) distance = 6;
|
||||||
|
bool isAfterMarkers =
|
||||||
|
distance > 0 && ((row - offset) % distance) == 0 && row != 0;
|
||||||
|
|
||||||
|
bool isRed = false;
|
||||||
|
TXshPaletteLevel *pl = cell.getPaletteLevel();
|
||||||
|
if (pl && !pl->getPalette()) isRed = true;
|
||||||
|
|
||||||
QPoint xy = m_viewer->positionToXY(CellPosition(row, col));
|
QPoint xy = m_viewer->positionToXY(CellPosition(row, col));
|
||||||
int x = xy.x();
|
int x = xy.x();
|
||||||
int y = xy.y();
|
int y = xy.y();
|
||||||
|
@ -1978,7 +2066,9 @@ void CellArea::drawPaletteCell(QPainter &p, int row, int col,
|
||||||
else
|
else
|
||||||
xy.setX(xy.x() + 1);
|
xy.setX(xy.x() + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cell.isEmpty() && prevCell.isEmpty()) {
|
if (cell.isEmpty() && prevCell.isEmpty()) {
|
||||||
|
drawFrameSeparator(p, row, col, true);
|
||||||
if (TApp::instance()->getCurrentFrame()->isEditingScene() &&
|
if (TApp::instance()->getCurrentFrame()->isEditingScene() &&
|
||||||
!m_viewer->orientation()->isVerticalTimeline() &&
|
!m_viewer->orientation()->isVerticalTimeline() &&
|
||||||
row == m_viewer->getCurrentRow() &&
|
row == m_viewer->getCurrentRow() &&
|
||||||
|
@ -1988,10 +2078,19 @@ void CellArea::drawPaletteCell(QPainter &p, int row, int col,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool heldFrame = (!o->isVerticalTimeline() && !isAfterMarkers && sameLevel &&
|
||||||
|
prevCell.m_frameId == cell.m_frameId);
|
||||||
|
drawFrameSeparator(p, row, col, false, heldFrame);
|
||||||
|
|
||||||
int frameAdj = m_viewer->getFrameZoomAdjustment();
|
int frameAdj = m_viewer->getFrameZoomAdjustment();
|
||||||
QRect cellRect = o->rect(PredefinedRect::CELL).translated(QPoint(x, y));
|
QRect cellRect = o->rect(PredefinedRect::CELL).translated(QPoint(x, y));
|
||||||
cellRect.adjust(0, 0, -frameAdj, 0);
|
cellRect.adjust(0, 0, -frameAdj, 0);
|
||||||
QRect rect = cellRect.adjusted(1, 1, 0, 0);
|
QRect rect = cellRect.adjusted(
|
||||||
|
1, 1,
|
||||||
|
(!m_viewer->orientation()->isVerticalTimeline() && !nextCell.isEmpty()
|
||||||
|
? 2
|
||||||
|
: 0),
|
||||||
|
0);
|
||||||
if (cell.isEmpty()) { // this means the former is not empty
|
if (cell.isEmpty()) { // this means the former is not empty
|
||||||
QColor levelEndColor = m_viewer->getTextColor();
|
QColor levelEndColor = m_viewer->getTextColor();
|
||||||
levelEndColor.setAlphaF(0.3);
|
levelEndColor.setAlphaF(0.3);
|
||||||
|
@ -2033,15 +2132,7 @@ void CellArea::drawPaletteCell(QPainter &p, int row, int col,
|
||||||
drawEndOfDragHandle(p, isLastRow, xy, cellColor);
|
drawEndOfDragHandle(p, isLastRow, xy, cellColor);
|
||||||
drawLockedDottedLine(p, xsh->getColumn(col)->isLocked(), xy, cellColor);
|
drawLockedDottedLine(p, xsh->getColumn(col)->isLocked(), xy, cellColor);
|
||||||
|
|
||||||
bool sameLevel = prevCell.m_level.getPointer() == cell.m_level.getPointer();
|
if (o->isVerticalTimeline() && isAfterMarkers) {
|
||||||
|
|
||||||
int distance, offset;
|
|
||||||
TApp::instance()->getCurrentScene()->getScene()->getProperties()->getMarkers(
|
|
||||||
distance, offset);
|
|
||||||
if (distance == 0) distance = 6;
|
|
||||||
bool isAfterMarkers = (row - offset) % distance == 0 && row != 0;
|
|
||||||
|
|
||||||
if (isAfterMarkers) {
|
|
||||||
p.setPen(m_viewer->getMarkerLineColor());
|
p.setPen(m_viewer->getMarkerLineColor());
|
||||||
p.drawLine(o->line(PredefinedLine::SEE_MARKER_THROUGH).translated(xy));
|
p.drawLine(o->line(PredefinedLine::SEE_MARKER_THROUGH).translated(xy));
|
||||||
}
|
}
|
||||||
|
@ -2049,6 +2140,7 @@ void CellArea::drawPaletteCell(QPainter &p, int row, int col,
|
||||||
if (sameLevel && prevCell.m_frameId == cell.m_frameId &&
|
if (sameLevel && prevCell.m_frameId == cell.m_frameId &&
|
||||||
!isAfterMarkers) { // cell equal to previous one (not on marker line):
|
!isAfterMarkers) { // cell equal to previous one (not on marker line):
|
||||||
// do not write anything and draw a vertical line
|
// do not write anything and draw a vertical line
|
||||||
|
if (!o->isVerticalTimeline()) return;
|
||||||
QPen oldPen = p.pen();
|
QPen oldPen = p.pen();
|
||||||
p.setPen(QPen(m_viewer->getTextColor(), 1));
|
p.setPen(QPen(m_viewer->getTextColor(), 1));
|
||||||
QLine continueLine = o->line(PredefinedLine::CONTINUE_LEVEL).translated(xy);
|
QLine continueLine = o->line(PredefinedLine::CONTINUE_LEVEL).translated(xy);
|
||||||
|
@ -2056,6 +2148,14 @@ void CellArea::drawPaletteCell(QPainter &p, int row, int col,
|
||||||
p.drawLine(continueLine);
|
p.drawLine(continueLine);
|
||||||
p.setPen(oldPen);
|
p.setPen(oldPen);
|
||||||
} else {
|
} else {
|
||||||
|
if (m_viewer->getFrameZoomFactor() <= 50) {
|
||||||
|
// Lets not draw normal marker if there is a keyframe here
|
||||||
|
TStageObject *pegbar = xsh->getStageObject(m_viewer->getObjectId(col));
|
||||||
|
if (pegbar->isKeyframe(row)) return;
|
||||||
|
drawFrameMarker(p, QPoint(x, y), (isRed ? Qt::red : Qt::black));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
TFrameId fid = cell.m_frameId;
|
TFrameId fid = cell.m_frameId;
|
||||||
|
|
||||||
std::wstring levelName = cell.m_level->getName();
|
std::wstring levelName = cell.m_level->getName();
|
||||||
|
@ -2075,12 +2175,10 @@ void CellArea::drawPaletteCell(QPainter &p, int row, int col,
|
||||||
}
|
}
|
||||||
|
|
||||||
nameRect.adjust(0, 0, -frameAdj, 0);
|
nameRect.adjust(0, 0, -frameAdj, 0);
|
||||||
bool isRed = false;
|
QColor penColor =
|
||||||
TXshPaletteLevel *pl = cell.getPaletteLevel();
|
|
||||||
if (pl && !pl->getPalette()) isRed = true;
|
|
||||||
p.setPen(
|
|
||||||
isRed ? QColor(230, 100, 100) // m_viewer->getSelectedColumnTextColor()
|
isRed ? QColor(230, 100, 100) // m_viewer->getSelectedColumnTextColor()
|
||||||
: m_viewer->getTextColor());
|
: m_viewer->getTextColor();
|
||||||
|
p.setPen(penColor);
|
||||||
// il nome va scritto se e' diverso dalla cella precedente oppure se
|
// il nome va scritto se e' diverso dalla cella precedente oppure se
|
||||||
// siamo su una marker line
|
// siamo su una marker line
|
||||||
QString fontName = Preferences::instance()->getInterfaceFont();
|
QString fontName = Preferences::instance()->getInterfaceFont();
|
||||||
|
@ -2135,11 +2233,12 @@ void CellArea::drawPaletteCell(QPainter &p, int row, int col,
|
||||||
void CellArea::drawKeyframe(QPainter &p, const QRect toBeUpdated) {
|
void CellArea::drawKeyframe(QPainter &p, const QRect toBeUpdated) {
|
||||||
const Orientation *o = m_viewer->orientation();
|
const Orientation *o = m_viewer->orientation();
|
||||||
int r0, r1, c0, c1; // range of visible rows and columns
|
int r0, r1, c0, c1; // range of visible rows and columns
|
||||||
CellRange visible = m_viewer->xyRectToRange(toBeUpdated);
|
CellRange visible = m_viewer->xyRectToRange(toBeUpdated);
|
||||||
r0 = visible.from().frame();
|
QColor keyFrameColor = Qt::white, outline = Qt::black;
|
||||||
r1 = visible.to().frame();
|
r0 = visible.from().frame();
|
||||||
c0 = visible.from().layer();
|
r1 = visible.to().frame();
|
||||||
c1 = visible.to().layer();
|
c0 = visible.from().layer();
|
||||||
|
c1 = visible.to().layer();
|
||||||
|
|
||||||
static QPixmap selectedKey = svgToPixmap(":Resources/selected_key.svg");
|
static QPixmap selectedKey = svgToPixmap(":Resources/selected_key.svg");
|
||||||
static QPixmap key = svgToPixmap(":Resources/key.svg");
|
static QPixmap key = svgToPixmap(":Resources/key.svg");
|
||||||
|
@ -2183,16 +2282,20 @@ void CellArea::drawKeyframe(QPainter &p, const QRect toBeUpdated) {
|
||||||
handleRow1)) {
|
handleRow1)) {
|
||||||
QPoint topLeft =
|
QPoint topLeft =
|
||||||
m_viewer->positionToXY(CellPosition(handleRow0, col));
|
m_viewer->positionToXY(CellPosition(handleRow0, col));
|
||||||
|
if (!o->isVerticalTimeline() &&
|
||||||
|
m_viewer->getFrameZoomFactor() <= 50)
|
||||||
|
topLeft.setY(topLeft.y() - 1);
|
||||||
m_viewer->drawPredefinedPath(p, PredefinedPath::BEGIN_EASE_TRIANGLE,
|
m_viewer->drawPredefinedPath(p, PredefinedPath::BEGIN_EASE_TRIANGLE,
|
||||||
topLeft + QPoint(-frameAdj / 2, 0),
|
topLeft + QPoint(-frameAdj / 2, 0),
|
||||||
m_viewer->getLightLineColor(),
|
keyFrameColor, outline);
|
||||||
m_viewer->getTextColor());
|
|
||||||
|
|
||||||
topLeft = m_viewer->positionToXY(CellPosition(handleRow1, col));
|
topLeft = m_viewer->positionToXY(CellPosition(handleRow1, col));
|
||||||
|
if (!o->isVerticalTimeline() &&
|
||||||
|
m_viewer->getFrameZoomFactor() <= 50)
|
||||||
|
topLeft.setY(topLeft.y() - 1);
|
||||||
m_viewer->drawPredefinedPath(p, PredefinedPath::END_EASE_TRIANGLE,
|
m_viewer->drawPredefinedPath(p, PredefinedPath::END_EASE_TRIANGLE,
|
||||||
topLeft + QPoint(-frameAdj / 2, 0),
|
topLeft + QPoint(-frameAdj / 2, 0),
|
||||||
m_viewer->getLightLineColor(),
|
keyFrameColor, outline);
|
||||||
m_viewer->getTextColor());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// skip to next segment
|
// skip to next segment
|
||||||
|
@ -2208,11 +2311,27 @@ void CellArea::drawKeyframe(QPainter &p, const QRect toBeUpdated) {
|
||||||
for (row = row0; row <= row1; row++) {
|
for (row = row0; row <= row1; row++) {
|
||||||
p.setPen(m_viewer->getTextColor());
|
p.setPen(m_viewer->getTextColor());
|
||||||
if (pegbar->isKeyframe(row)) {
|
if (pegbar->isKeyframe(row)) {
|
||||||
QPoint target =
|
QPoint xy = m_viewer->positionToXY(CellPosition(row, col));
|
||||||
keyRect.translated(m_viewer->positionToXY(CellPosition(row, col)))
|
QPoint target = keyRect.translated(xy).topLeft();
|
||||||
.topLeft();
|
if (!o->isVerticalTimeline() && m_viewer->getFrameZoomFactor() <= 50) {
|
||||||
if (m_viewer->getKeyframeSelection() &&
|
QColor color = Qt::white;
|
||||||
m_viewer->getKeyframeSelection()->isSelected(row, col)) {
|
int x = xy.x();
|
||||||
|
int y = xy.y();
|
||||||
|
if (row == 0) {
|
||||||
|
if (o->isVerticalTimeline())
|
||||||
|
xy.setY(xy.y() + 1);
|
||||||
|
else
|
||||||
|
xy.setX(xy.x() + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_viewer->getKeyframeSelection() &&
|
||||||
|
m_viewer->getKeyframeSelection()->isSelected(row, col))
|
||||||
|
color = QColor(85, 157, 255);
|
||||||
|
|
||||||
|
drawFrameMarker(p, QPoint(x, y), color, true);
|
||||||
|
|
||||||
|
} else if (m_viewer->getKeyframeSelection() &&
|
||||||
|
m_viewer->getKeyframeSelection()->isSelected(row, col)) {
|
||||||
// keyframe selected
|
// keyframe selected
|
||||||
p.drawPixmap(target, selectedKey);
|
p.drawPixmap(target, selectedKey);
|
||||||
} else {
|
} else {
|
||||||
|
@ -2274,7 +2393,13 @@ void CellArea::drawKeyframeLine(QPainter &p, int col,
|
||||||
QPoint end =
|
QPoint end =
|
||||||
keyRect.center() + m_viewer->positionToXY(CellPosition(rows.to(), col));
|
keyRect.center() + m_viewer->positionToXY(CellPosition(rows.to(), col));
|
||||||
|
|
||||||
p.setPen(m_viewer->getTextColor());
|
if (!m_viewer->orientation()->isVerticalTimeline() &&
|
||||||
|
m_viewer->getFrameZoomFactor() <= 50) {
|
||||||
|
begin.setY(begin.y() - 1);
|
||||||
|
end.setY(end.y() - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
p.setPen(Qt::white);
|
||||||
p.drawLine(QLine(begin, end));
|
p.drawLine(QLine(begin, end));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2373,8 +2498,6 @@ void CellArea::paintEvent(QPaintEvent *event) {
|
||||||
drawKeyframe(p, toBeUpdated);
|
drawKeyframe(p, toBeUpdated);
|
||||||
drawNotes(p, toBeUpdated);
|
drawNotes(p, toBeUpdated);
|
||||||
|
|
||||||
if (getDragTool()) getDragTool()->drawCellsArea(p);
|
|
||||||
|
|
||||||
// focus cell border
|
// focus cell border
|
||||||
int frameAdj = m_viewer->getFrameZoomAdjustment();
|
int frameAdj = m_viewer->getFrameZoomAdjustment();
|
||||||
int row = m_viewer->getCurrentRow();
|
int row = m_viewer->getCurrentRow();
|
||||||
|
@ -2383,10 +2506,14 @@ void CellArea::paintEvent(QPaintEvent *event) {
|
||||||
QRect rect = m_viewer->orientation()
|
QRect rect = m_viewer->orientation()
|
||||||
->rect(PredefinedRect::CELL)
|
->rect(PredefinedRect::CELL)
|
||||||
.translated(xy)
|
.translated(xy)
|
||||||
.adjusted(1, 1, -1 - frameAdj, -1);
|
.adjusted(0, 0, -1 - frameAdj, 0);
|
||||||
p.setPen(Qt::black);
|
p.setPen(Qt::black);
|
||||||
p.setBrush(Qt::NoBrush);
|
p.setBrush(Qt::NoBrush);
|
||||||
p.drawRect(rect);
|
for (int i = 0; i < 2; i++) // thick border within cell
|
||||||
|
p.drawRect(QRect(rect.topLeft() + QPoint(i, i),
|
||||||
|
rect.size() - QSize(2 * i, 2 * i)));
|
||||||
|
|
||||||
|
if (getDragTool()) getDragTool()->drawCellsArea(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
@ -2485,11 +2612,18 @@ void CellArea::mousePressEvent(QMouseEvent *event) {
|
||||||
(k1 > k0 || k0 == row) && k0 <= row &&
|
(k1 > k0 || k0 == row) && k0 <= row &&
|
||||||
row <= k1 + 1;
|
row <= k1 + 1;
|
||||||
|
|
||||||
bool isKeyFrameArea = isKeyframeFrame &&
|
bool isKeyFrameArea =
|
||||||
o->rect(PredefinedRect::KEYFRAME_AREA)
|
isKeyframeFrame &&
|
||||||
.adjusted(-frameAdj / 2, 0, -frameAdj / 2, 0)
|
((o->isVerticalTimeline() &&
|
||||||
.contains(mouseInCell) &&
|
o->rect(PredefinedRect::KEYFRAME_AREA)
|
||||||
row < k1 + 1;
|
.adjusted(-frameAdj / 2, 0, -frameAdj / 2, 0)
|
||||||
|
.contains(mouseInCell))
|
||||||
|
|
||||||
|
|| (!o->isVerticalTimeline() &&
|
||||||
|
o->rect(PredefinedRect::FRAME_MARKER_AREA)
|
||||||
|
.adjusted(-frameAdj / 2, 0, -frameAdj / 2, 0)
|
||||||
|
.contains(mouseInCell))) &&
|
||||||
|
row < k1 + 1;
|
||||||
bool accept = false;
|
bool accept = false;
|
||||||
|
|
||||||
if (isKeyFrameArea) { // They are in the keyframe selection
|
if (isKeyFrameArea) { // They are in the keyframe selection
|
||||||
|
|
|
@ -88,6 +88,8 @@ class CellArea final : public QWidget {
|
||||||
void drawLockedDottedLine(QPainter &p, bool isLocked, const QPoint &xy,
|
void drawLockedDottedLine(QPainter &p, bool isLocked, const QPoint &xy,
|
||||||
const QColor &cellColor) const;
|
const QColor &cellColor) const;
|
||||||
|
|
||||||
|
void drawFrameSeparator(QPainter &p, int row, int col, bool emptyFrame,
|
||||||
|
bool heldFrame = false);
|
||||||
void drawLevelCell(QPainter &p, int row, int col, bool isReference = false);
|
void drawLevelCell(QPainter &p, int row, int col, bool isReference = false);
|
||||||
void drawSoundTextCell(QPainter &p, int row, int col);
|
void drawSoundTextCell(QPainter &p, int row, int col);
|
||||||
void drawSoundCell(QPainter &p, int row, int col, bool isReference = false);
|
void drawSoundCell(QPainter &p, int row, int col, bool isReference = false);
|
||||||
|
@ -101,7 +103,8 @@ class CellArea final : public QWidget {
|
||||||
void drawCurrentTimeIndicator(QPainter &p, const QPoint &xy,
|
void drawCurrentTimeIndicator(QPainter &p, const QPoint &xy,
|
||||||
bool isFolded = false);
|
bool isFolded = false);
|
||||||
|
|
||||||
void drawFrameDot(QPainter &p, const QPoint &xy, bool isValid);
|
void drawFrameMarker(QPainter &p, const QPoint &xy, QColor color,
|
||||||
|
bool isKeyFrame = false);
|
||||||
|
|
||||||
// Restistusce true
|
// Restistusce true
|
||||||
bool getEaseHandles(int r0, int r1, double e0, double e1, int &rh0, int &rh1);
|
bool getEaseHandles(int r0, int r1, double e0, double e1, int &rh0, int &rh1);
|
||||||
|
|
|
@ -689,7 +689,7 @@ void ColumnArea::DrawHeader::drawEye() const {
|
||||||
// preview visible toggle
|
// preview visible toggle
|
||||||
p.setPen(m_viewer->getVerticalLineColor());
|
p.setPen(m_viewer->getVerticalLineColor());
|
||||||
|
|
||||||
if (column->getPaletteColumn() || column->getSoundTextColumn()) {
|
if (column->getSoundTextColumn()) {
|
||||||
if (o->flag(PredefinedFlag::EYE_AREA_BORDER)) p.drawRect(prevViewRect);
|
if (o->flag(PredefinedFlag::EYE_AREA_BORDER)) p.drawRect(prevViewRect);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1827,7 +1827,7 @@ void ColumnArea::mousePressEvent(QMouseEvent *event) {
|
||||||
// preview button
|
// preview button
|
||||||
else if (o->rect(PredefinedRect::EYE_AREA).contains(mouseInCell) &&
|
else if (o->rect(PredefinedRect::EYE_AREA).contains(mouseInCell) &&
|
||||||
event->button() == Qt::LeftButton) {
|
event->button() == Qt::LeftButton) {
|
||||||
if (column->getPaletteColumn() || column->getSoundTextColumn()) {
|
if (column->getSoundTextColumn()) {
|
||||||
// do nothing
|
// do nothing
|
||||||
} else {
|
} else {
|
||||||
m_doOnRelease =
|
m_doOnRelease =
|
||||||
|
|
|
@ -100,8 +100,9 @@ void XsheetViewer::getCellTypeAndColors(int <ype, QColor &cellColor,
|
||||||
sideColor = m_soundColumnBorderColor;
|
sideColor = m_soundColumnBorderColor;
|
||||||
break;
|
break;
|
||||||
case SND_TXT_XSHLEVEL:
|
case SND_TXT_XSHLEVEL:
|
||||||
cellColor = XsheetGUI::SoundTextColumnColor;
|
cellColor = (isSelected) ? getSelectedSoundTextColumnColor()
|
||||||
sideColor = XsheetGUI::SoundTextColumnBorderColor;
|
: getSoundTextColumnColor();
|
||||||
|
sideColor = getSoundTextColumnBorderColor();
|
||||||
break;
|
break;
|
||||||
case MESH_XSHLEVEL:
|
case MESH_XSHLEVEL:
|
||||||
cellColor =
|
cellColor =
|
||||||
|
@ -718,10 +719,10 @@ void XsheetViewer::updateAreeSize() {
|
||||||
: o->foldedCellSize()));
|
: o->foldedCellSize()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (viewArea.right() < areaFilled.x()) viewArea.setRight(areaFilled.x());
|
if (viewArea.width() < areaFilled.x()) viewArea.setWidth(areaFilled.x());
|
||||||
if (viewArea.bottom() < areaFilled.y() ||
|
if (viewArea.height() < areaFilled.y() ||
|
||||||
(!o->isVerticalTimeline() && viewArea.bottom() != areaFilled.y()))
|
(!o->isVerticalTimeline() && viewArea.height() != areaFilled.y()))
|
||||||
viewArea.setBottom(areaFilled.y());
|
viewArea.setHeight(areaFilled.y());
|
||||||
|
|
||||||
NumberRange allLayer = o->layerSide(viewArea);
|
NumberRange allLayer = o->layerSide(viewArea);
|
||||||
NumberRange allFrame = o->frameSide(viewArea);
|
NumberRange allFrame = o->frameSide(viewArea);
|
||||||
|
@ -1099,7 +1100,7 @@ void XsheetViewer::wheelEvent(QWheelEvent *event) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int markerDistance = 6, markerOffset = 0;
|
int markerDistance = 0, markerOffset = 0;
|
||||||
TApp::instance()
|
TApp::instance()
|
||||||
->getCurrentScene()
|
->getCurrentScene()
|
||||||
->getScene()
|
->getScene()
|
||||||
|
@ -1750,9 +1751,22 @@ void XsheetViewer::zoomOnFrame(int frame, int factor) {
|
||||||
m_rowArea->update();
|
m_rowArea->update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QColor XsheetViewer::getSelectedColumnTextColor() const {
|
||||||
|
// get colors
|
||||||
|
TPixel currentColumnPixel;
|
||||||
|
Preferences::instance()->getCurrentColumnData(currentColumnPixel);
|
||||||
|
QColor currentColumnColor((int)currentColumnPixel.r,
|
||||||
|
(int)currentColumnPixel.g,
|
||||||
|
(int)currentColumnPixel.b, 255);
|
||||||
|
return currentColumnColor;
|
||||||
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
// XSheetViewerCommand
|
// XSheetViewerCommand
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
OpenFloatingPanel openXsheetViewerCommand(MI_OpenXshView, "Xsheet",
|
OpenFloatingPanel openXsheetViewerCommand(MI_OpenXshView, "Xsheet",
|
||||||
QObject::tr("Xsheet"));
|
QObject::tr("Xsheet"));
|
||||||
|
|
||||||
|
OpenFloatingPanel openTimelineViewerCommand(MI_OpenTimelineView, "Timeline",
|
||||||
|
QObject::tr("Timeline"));
|
||||||
|
|
|
@ -325,6 +325,18 @@ class XsheetViewer final : public QFrame, public SaveLoadQSettings {
|
||||||
setMeshColumnBorderColor)
|
setMeshColumnBorderColor)
|
||||||
Q_PROPERTY(QColor SelectedMeshColumnColor READ getSelectedMeshColumnColor
|
Q_PROPERTY(QColor SelectedMeshColumnColor READ getSelectedMeshColumnColor
|
||||||
WRITE setSelectedMeshColumnColor)
|
WRITE setSelectedMeshColumnColor)
|
||||||
|
// SoundText column
|
||||||
|
QColor m_soundTextColumnColor;
|
||||||
|
QColor m_soundTextColumnBorderColor;
|
||||||
|
QColor m_selectedSoundTextColumnColor;
|
||||||
|
Q_PROPERTY(QColor SoundTextColumnColor READ getSoundTextColumnColor WRITE
|
||||||
|
setSoundTextColumnColor)
|
||||||
|
Q_PROPERTY(
|
||||||
|
QColor SoundTextColumnBorderColor READ getSoundTextColumnBorderColor WRITE
|
||||||
|
setSoundTextColumnBorderColor)
|
||||||
|
Q_PROPERTY(
|
||||||
|
QColor SelectedSoundTextColumnColor READ getSelectedSoundTextColumnColor
|
||||||
|
WRITE setSelectedSoundTextColumnColor)
|
||||||
// Sound column
|
// Sound column
|
||||||
QColor m_soundColumnColor;
|
QColor m_soundColumnColor;
|
||||||
QColor m_soundColumnBorderColor;
|
QColor m_soundColumnBorderColor;
|
||||||
|
@ -478,14 +490,25 @@ class XsheetViewer final : public QFrame, public SaveLoadQSettings {
|
||||||
WRITE setTimelineConfigButtonImage)
|
WRITE setTimelineConfigButtonImage)
|
||||||
// Layer Header icons
|
// Layer Header icons
|
||||||
QImage m_layerHeaderPreviewImage;
|
QImage m_layerHeaderPreviewImage;
|
||||||
|
QImage m_layerHeaderPreviewOverImage;
|
||||||
QImage m_layerHeaderCamstandImage;
|
QImage m_layerHeaderCamstandImage;
|
||||||
|
QImage m_layerHeaderCamstandOverImage;
|
||||||
QImage m_layerHeaderLockImage;
|
QImage m_layerHeaderLockImage;
|
||||||
|
QImage m_layerHeaderLockOverImage;
|
||||||
Q_PROPERTY(QImage LayerHeaderPreviewImage READ getLayerHeaderPreviewImage
|
Q_PROPERTY(QImage LayerHeaderPreviewImage READ getLayerHeaderPreviewImage
|
||||||
WRITE setLayerHeaderPreviewImage)
|
WRITE setLayerHeaderPreviewImage)
|
||||||
|
Q_PROPERTY(
|
||||||
|
QImage LayerHeaderPreviewOverImage READ getLayerHeaderPreviewOverImage
|
||||||
|
WRITE setLayerHeaderPreviewOverImage)
|
||||||
Q_PROPERTY(QImage LayerHeaderCamstandImage READ getLayerHeaderCamstandImage
|
Q_PROPERTY(QImage LayerHeaderCamstandImage READ getLayerHeaderCamstandImage
|
||||||
WRITE setLayerHeaderCamstandImage)
|
WRITE setLayerHeaderCamstandImage)
|
||||||
|
Q_PROPERTY(
|
||||||
|
QImage LayerHeaderCamstandOverImage READ getLayerHeaderCamstandOverImage
|
||||||
|
WRITE setLayerHeaderCamstandOverImage)
|
||||||
Q_PROPERTY(QImage LayerHeaderLockImage READ getLayerHeaderLockImage WRITE
|
Q_PROPERTY(QImage LayerHeaderLockImage READ getLayerHeaderLockImage WRITE
|
||||||
setLayerHeaderLockImage)
|
setLayerHeaderLockImage)
|
||||||
|
Q_PROPERTY(QImage LayerHeaderLockOverImage READ getLayerHeaderLockOverImage
|
||||||
|
WRITE setLayerHeaderLockOverImage)
|
||||||
|
|
||||||
XsheetScrollArea *m_cellScrollArea;
|
XsheetScrollArea *m_cellScrollArea;
|
||||||
XsheetScrollArea *m_columnScrollArea;
|
XsheetScrollArea *m_columnScrollArea;
|
||||||
|
@ -704,9 +727,8 @@ public:
|
||||||
void setSelectedColumnTextColor(const QColor &color) {
|
void setSelectedColumnTextColor(const QColor &color) {
|
||||||
m_selectedColumnTextColor = color;
|
m_selectedColumnTextColor = color;
|
||||||
}
|
}
|
||||||
QColor getSelectedColumnTextColor() const {
|
QColor getSelectedColumnTextColor() const;
|
||||||
return m_selectedColumnTextColor;
|
|
||||||
}
|
|
||||||
// Cell
|
// Cell
|
||||||
void setEmptyCellColor(const QColor &color) { m_emptyCellColor = color; }
|
void setEmptyCellColor(const QColor &color) { m_emptyCellColor = color; }
|
||||||
QColor getEmptyCellColor() const { return m_emptyCellColor; }
|
QColor getEmptyCellColor() const { return m_emptyCellColor; }
|
||||||
|
@ -837,6 +859,23 @@ public:
|
||||||
QColor getSelectedMeshColumnColor() const {
|
QColor getSelectedMeshColumnColor() const {
|
||||||
return m_selectedMeshColumnColor;
|
return m_selectedMeshColumnColor;
|
||||||
}
|
}
|
||||||
|
// SoundText column
|
||||||
|
void setSoundTextColumnColor(const QColor &color) {
|
||||||
|
m_soundTextColumnColor = color;
|
||||||
|
}
|
||||||
|
void setSoundTextColumnBorderColor(const QColor &color) {
|
||||||
|
m_soundTextColumnBorderColor = color;
|
||||||
|
}
|
||||||
|
void setSelectedSoundTextColumnColor(const QColor &color) {
|
||||||
|
m_selectedSoundTextColumnColor = color;
|
||||||
|
}
|
||||||
|
QColor getSoundTextColumnColor() const { return m_soundTextColumnColor; }
|
||||||
|
QColor getSoundTextColumnBorderColor() const {
|
||||||
|
return m_soundTextColumnBorderColor;
|
||||||
|
}
|
||||||
|
QColor getSelectedSoundTextColumnColor() const {
|
||||||
|
return m_selectedSoundTextColumnColor;
|
||||||
|
}
|
||||||
// Sound column
|
// Sound column
|
||||||
QColor getSoundColumnHlColor() const { return m_soundColumnHlColor; }
|
QColor getSoundColumnHlColor() const { return m_soundColumnHlColor; }
|
||||||
QColor getSoundColumnTrackColor() const { return m_soundColumnTrackColor; }
|
QColor getSoundColumnTrackColor() const { return m_soundColumnTrackColor; }
|
||||||
|
@ -1060,19 +1099,37 @@ public:
|
||||||
void setLayerHeaderPreviewImage(const QImage &image) {
|
void setLayerHeaderPreviewImage(const QImage &image) {
|
||||||
m_layerHeaderPreviewImage = image;
|
m_layerHeaderPreviewImage = image;
|
||||||
}
|
}
|
||||||
|
void setLayerHeaderPreviewOverImage(const QImage &image) {
|
||||||
|
m_layerHeaderPreviewOverImage = image;
|
||||||
|
}
|
||||||
void setLayerHeaderCamstandImage(const QImage &image) {
|
void setLayerHeaderCamstandImage(const QImage &image) {
|
||||||
m_layerHeaderCamstandImage = image;
|
m_layerHeaderCamstandImage = image;
|
||||||
}
|
}
|
||||||
|
void setLayerHeaderCamstandOverImage(const QImage &image) {
|
||||||
|
m_layerHeaderCamstandOverImage = image;
|
||||||
|
}
|
||||||
void setLayerHeaderLockImage(const QImage &image) {
|
void setLayerHeaderLockImage(const QImage &image) {
|
||||||
m_layerHeaderLockImage = image;
|
m_layerHeaderLockImage = image;
|
||||||
}
|
}
|
||||||
|
void setLayerHeaderLockOverImage(const QImage &image) {
|
||||||
|
m_layerHeaderLockOverImage = image;
|
||||||
|
}
|
||||||
QImage getLayerHeaderPreviewImage() const {
|
QImage getLayerHeaderPreviewImage() const {
|
||||||
return m_layerHeaderPreviewImage;
|
return m_layerHeaderPreviewImage;
|
||||||
}
|
}
|
||||||
|
QImage getLayerHeaderPreviewOverImage() const {
|
||||||
|
return m_layerHeaderPreviewOverImage;
|
||||||
|
}
|
||||||
QImage getLayerHeaderCamstandImage() const {
|
QImage getLayerHeaderCamstandImage() const {
|
||||||
return m_layerHeaderCamstandImage;
|
return m_layerHeaderCamstandImage;
|
||||||
}
|
}
|
||||||
|
QImage getLayerHeaderCamstandOverImage() const {
|
||||||
|
return m_layerHeaderCamstandOverImage;
|
||||||
|
}
|
||||||
QImage getLayerHeaderLockImage() const { return m_layerHeaderLockImage; }
|
QImage getLayerHeaderLockImage() const { return m_layerHeaderLockImage; }
|
||||||
|
QImage getLayerHeaderLockOverImage() const {
|
||||||
|
return m_layerHeaderLockOverImage;
|
||||||
|
}
|
||||||
|
|
||||||
void getButton(int &btype, QColor &bgColor, QImage &iconImage,
|
void getButton(int &btype, QColor &bgColor, QImage &iconImage,
|
||||||
bool isTimeline = false);
|
bool isTimeline = false);
|
||||||
|
|
|
@ -465,8 +465,7 @@ NoteArea::NoteArea(XsheetViewer *parent, Qt::WFlags flags)
|
||||||
setFrameStyle(QFrame::StyledPanel);
|
setFrameStyle(QFrame::StyledPanel);
|
||||||
setObjectName("cornerWidget");
|
setObjectName("cornerWidget");
|
||||||
|
|
||||||
m_flipOrientationButton =
|
m_flipOrientationButton = new QPushButton(this);
|
||||||
new QPushButton(m_viewer->orientation()->caption(), this);
|
|
||||||
m_noteButton = new QToolButton(this);
|
m_noteButton = new QToolButton(this);
|
||||||
m_precNoteButton = new QToolButton(this);
|
m_precNoteButton = new QToolButton(this);
|
||||||
m_nextNoteButton = new QToolButton(this);
|
m_nextNoteButton = new QToolButton(this);
|
||||||
|
@ -475,33 +474,42 @@ NoteArea::NoteArea(XsheetViewer *parent, Qt::WFlags flags)
|
||||||
|
|
||||||
//-----
|
//-----
|
||||||
|
|
||||||
m_flipOrientationButton->setObjectName("PushButton_NoPadding");
|
m_flipOrientationButton->setObjectName("flipOrientationButton");
|
||||||
m_flipOrientationButton->setFocusPolicy(Qt::FocusPolicy::NoFocus);
|
m_flipOrientationButton->setFocusPolicy(Qt::FocusPolicy::NoFocus);
|
||||||
m_flipOrientationButton->setFixedSize(QSize(70, 23));
|
m_flipOrientationButton->setFixedSize(QSize(70, 23));
|
||||||
|
m_flipOrientationButton->setIconSize(QSize(40, 20));
|
||||||
|
QIcon flipOrientationIcon;
|
||||||
|
flipOrientationIcon.addFile(QString(":Resources/xsheet2timeline.svg"),
|
||||||
|
QSize(), QIcon::Normal);
|
||||||
|
m_flipOrientationButton->setIcon(flipOrientationIcon);
|
||||||
|
m_flipOrientationButton->setToolTip(tr("Toggle Xsheet/Timeline"));
|
||||||
|
|
||||||
m_noteButton->setObjectName("ToolbarToolButton");
|
m_noteButton->setObjectName("ToolbarToolButton");
|
||||||
m_noteButton->setFixedSize(44, 26);
|
m_noteButton->setFixedSize(34, 25);
|
||||||
m_noteButton->setIconSize(QSize(38, 20));
|
m_noteButton->setIconSize(QSize(30, 20));
|
||||||
QIcon addNoteIcon = createQIcon("newmemo");
|
QIcon addNoteIcon = createQIcon("newmemo");
|
||||||
addNoteIcon.addFile(QString(":Resources/newmemo_disabled.svg"), QSize(),
|
addNoteIcon.addFile(QString(":Resources/newmemo_disabled.svg"), QSize(),
|
||||||
QIcon::Disabled);
|
QIcon::Disabled);
|
||||||
m_noteButton->setIcon(addNoteIcon);
|
m_noteButton->setIcon(addNoteIcon);
|
||||||
|
m_noteButton->setToolTip(tr("Add New Memo"));
|
||||||
|
|
||||||
m_precNoteButton->setObjectName("ToolbarToolButton");
|
m_precNoteButton->setObjectName("ToolbarToolButton");
|
||||||
m_precNoteButton->setFixedSize(22, 22);
|
m_precNoteButton->setFixedSize(18, 25);
|
||||||
m_precNoteButton->setIconSize(QSize(17, 17));
|
m_precNoteButton->setIconSize(QSize(17, 17));
|
||||||
QIcon precNoteIcon = createQIcon("prevkey");
|
QIcon precNoteIcon = createQIcon("prevkey");
|
||||||
precNoteIcon.addFile(QString(":Resources/prevkey_disabled.svg"), QSize(),
|
precNoteIcon.addFile(QString(":Resources/prevkey_disabled.svg"), QSize(),
|
||||||
QIcon::Disabled);
|
QIcon::Disabled);
|
||||||
m_precNoteButton->setIcon(precNoteIcon);
|
m_precNoteButton->setIcon(precNoteIcon);
|
||||||
|
m_precNoteButton->setToolTip(tr("Previous Memo"));
|
||||||
|
|
||||||
m_nextNoteButton->setObjectName("ToolbarToolButton");
|
m_nextNoteButton->setObjectName("ToolbarToolButton");
|
||||||
m_nextNoteButton->setFixedSize(22, 22);
|
m_nextNoteButton->setFixedSize(18, 25);
|
||||||
m_nextNoteButton->setIconSize(QSize(17, 17));
|
m_nextNoteButton->setIconSize(QSize(17, 17));
|
||||||
QIcon nextNoteIcon = createQIcon("nextkey");
|
QIcon nextNoteIcon = createQIcon("nextkey");
|
||||||
nextNoteIcon.addFile(QString(":Resources/nextkey_disabled.svg"), QSize(),
|
nextNoteIcon.addFile(QString(":Resources/nextkey_disabled.svg"), QSize(),
|
||||||
QIcon::Disabled);
|
QIcon::Disabled);
|
||||||
m_nextNoteButton->setIcon(nextNoteIcon);
|
m_nextNoteButton->setIcon(nextNoteIcon);
|
||||||
|
m_nextNoteButton->setToolTip(tr("Next Memo"));
|
||||||
|
|
||||||
QStringList frameDisplayStyles;
|
QStringList frameDisplayStyles;
|
||||||
frameDisplayStyles << tr("Frame") << tr("Sec Frame") << tr("6sec Sheet")
|
frameDisplayStyles << tr("Frame") << tr("Sec Frame") << tr("6sec Sheet")
|
||||||
|
@ -557,11 +565,6 @@ void NoteArea::createLayout() {
|
||||||
|
|
||||||
setFixedSize(rect.size());
|
setFixedSize(rect.size());
|
||||||
|
|
||||||
if (o->isVerticalTimeline())
|
|
||||||
m_noteButton->setFixedSize(44, 26);
|
|
||||||
else
|
|
||||||
m_noteButton->setFixedSize(44, 22);
|
|
||||||
|
|
||||||
// has two elements: main layout and header panel
|
// has two elements: main layout and header panel
|
||||||
QVBoxLayout *panelLayout = new QVBoxLayout();
|
QVBoxLayout *panelLayout = new QVBoxLayout();
|
||||||
panelLayout->setMargin(1);
|
panelLayout->setMargin(1);
|
||||||
|
@ -578,16 +581,13 @@ void NoteArea::createLayout() {
|
||||||
|
|
||||||
mainLayout->addStretch(1);
|
mainLayout->addStretch(1);
|
||||||
|
|
||||||
mainLayout->addWidget(m_noteButton, 0, centerAlign);
|
|
||||||
|
|
||||||
QHBoxLayout *buttonsLayout = new QHBoxLayout();
|
QHBoxLayout *buttonsLayout = new QHBoxLayout();
|
||||||
buttonsLayout->setMargin(0);
|
buttonsLayout->setMargin(0);
|
||||||
buttonsLayout->setSpacing(0);
|
buttonsLayout->setSpacing(0);
|
||||||
{
|
{
|
||||||
buttonsLayout->addStretch(1);
|
|
||||||
buttonsLayout->addWidget(m_precNoteButton, 0);
|
buttonsLayout->addWidget(m_precNoteButton, 0);
|
||||||
|
buttonsLayout->addWidget(m_noteButton, 0, centerAlign);
|
||||||
buttonsLayout->addWidget(m_nextNoteButton, 0);
|
buttonsLayout->addWidget(m_nextNoteButton, 0);
|
||||||
buttonsLayout->addStretch(1);
|
|
||||||
}
|
}
|
||||||
mainLayout->addLayout(buttonsLayout, 0);
|
mainLayout->addLayout(buttonsLayout, 0);
|
||||||
|
|
||||||
|
@ -627,7 +627,15 @@ void NoteArea::updateButtons() {
|
||||||
void NoteArea::flipOrientation() { m_viewer->flipOrientation(); }
|
void NoteArea::flipOrientation() { m_viewer->flipOrientation(); }
|
||||||
|
|
||||||
void NoteArea::onXsheetOrientationChanged(const Orientation *newOrientation) {
|
void NoteArea::onXsheetOrientationChanged(const Orientation *newOrientation) {
|
||||||
m_flipOrientationButton->setText(newOrientation->caption());
|
// m_flipOrientationButton->setText(newOrientation->caption());
|
||||||
|
|
||||||
|
QIcon flipOrientationIcon;
|
||||||
|
QString iconFile = newOrientation->isVerticalTimeline()
|
||||||
|
? QString(":Resources/xsheet2timeline.svg")
|
||||||
|
: QString(":Resources/timeline2xsheet.svg");
|
||||||
|
flipOrientationIcon.addFile(iconFile, QSize(), QIcon::Normal);
|
||||||
|
m_flipOrientationButton->setIcon(flipOrientationIcon);
|
||||||
|
|
||||||
removeLayout();
|
removeLayout();
|
||||||
createLayout();
|
createLayout();
|
||||||
}
|
}
|
||||||
|
|
|
@ -108,7 +108,7 @@ void RowArea::drawRows(QPainter &p, int r0, int r1) {
|
||||||
distance, offset);
|
distance, offset);
|
||||||
|
|
||||||
// default value
|
// default value
|
||||||
if (distance == 0) distance = 6;
|
// if (distance == 0) distance = 6;
|
||||||
|
|
||||||
QRect visibleRect = visibleRegion().boundingRect();
|
QRect visibleRect = visibleRegion().boundingRect();
|
||||||
|
|
||||||
|
@ -124,30 +124,19 @@ void RowArea::drawRows(QPainter &p, int r0, int r1) {
|
||||||
int frameAxis = m_viewer->rowToFrameAxis(r);
|
int frameAxis = m_viewer->rowToFrameAxis(r);
|
||||||
|
|
||||||
//--- draw horizontal line
|
//--- draw horizontal line
|
||||||
QColor color = ((r - offset) % distance == 0 && r != 0)
|
bool isAfterMarkers =
|
||||||
? m_viewer->getMarkerLineColor()
|
(distance > 0 && ((r - offset) % distance) == 0 && r != 0);
|
||||||
: m_viewer->getLightLineColor();
|
QColor color = isAfterMarkers ? m_viewer->getMarkerLineColor()
|
||||||
|
: m_viewer->getLightLineColor();
|
||||||
p.setPen(color);
|
p.setPen(color);
|
||||||
QLine horizontalLine = o->horizontalLine(frameAxis, layerSide);
|
QLine horizontalLine = o->horizontalLine(frameAxis, layerSide);
|
||||||
p.drawLine(horizontalLine);
|
if (!o->isVerticalTimeline()) {
|
||||||
|
int x = horizontalLine.x1();
|
||||||
if (!o->isVerticalTimeline() && m_viewer->getFrameZoomFactor() <= 50) {
|
int y = horizontalLine.y2() - (isAfterMarkers ? 6 : 3);
|
||||||
QPoint basePoint = m_viewer->positionToXY(CellPosition(r, 0));
|
horizontalLine.setP1(QPoint(x, y));
|
||||||
if (!o->isVerticalTimeline()) basePoint.setY(0);
|
if (!isAfterMarkers) p.setPen(m_viewer->getTextColor());
|
||||||
QRect indRect =
|
|
||||||
o->rect(PredefinedRect::FRAME_INDICATOR).translated(basePoint);
|
|
||||||
indRect.adjust(-frameAdj / 2, 0, -frameAdj / 2, 0);
|
|
||||||
QColor useColor;
|
|
||||||
if (playR0 <= r && r <= playR1) {
|
|
||||||
useColor = ((r - m_r0) % step == 0)
|
|
||||||
? m_viewer->getPreviewFrameTextColor()
|
|
||||||
: m_viewer->getTextColor();
|
|
||||||
}
|
|
||||||
// not in preview range
|
|
||||||
else
|
|
||||||
useColor = m_viewer->getTextColor();
|
|
||||||
p.fillRect(indRect, useColor);
|
|
||||||
}
|
}
|
||||||
|
p.drawLine(horizontalLine);
|
||||||
}
|
}
|
||||||
|
|
||||||
int z = 0;
|
int z = 0;
|
||||||
|
@ -205,7 +194,7 @@ void RowArea::drawRows(QPainter &p, int r0, int r1) {
|
||||||
|
|
||||||
case XsheetViewer::Frame: {
|
case XsheetViewer::Frame: {
|
||||||
if (!o->isVerticalTimeline() && m_viewer->getFrameZoomFactor() <= 50 &&
|
if (!o->isVerticalTimeline() && m_viewer->getFrameZoomFactor() <= 50 &&
|
||||||
r > 0 && (r + 1) % 5)
|
r > 0 && (r + 1) % (distance > 0 ? distance : 5))
|
||||||
break;
|
break;
|
||||||
QString number = QString::number(r + 1);
|
QString number = QString::number(r + 1);
|
||||||
p.drawText(labelRect, align, number);
|
p.drawText(labelRect, align, number);
|
||||||
|
@ -275,6 +264,43 @@ void RowArea::drawRows(QPainter &p, int r0, int r1) {
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
void RowArea::drawPlayRangeBackground(QPainter &p, int r0, int r1) {
|
||||||
|
if (!XsheetGUI::isPlayRangeEnabled()) return;
|
||||||
|
|
||||||
|
const Orientation *o = m_viewer->orientation();
|
||||||
|
TXsheet *xsh = m_viewer->getXsheet();
|
||||||
|
int frameAdj = m_viewer->getFrameZoomAdjustment();
|
||||||
|
QRect playRangeRect = o->rect(PredefinedRect::PLAY_RANGE);
|
||||||
|
|
||||||
|
int playR0, playR1, step;
|
||||||
|
XsheetGUI::getPlayRange(playR0, playR1, step);
|
||||||
|
|
||||||
|
for (int r = r0; r <= r1; r++) {
|
||||||
|
if (!(playR0 <= r && r <= playR1) && ((r - m_r0) % step == 0)) continue;
|
||||||
|
|
||||||
|
QPoint basePoint = m_viewer->positionToXY(CellPosition(r, 0));
|
||||||
|
if (!o->isVerticalTimeline()) basePoint.setY(0);
|
||||||
|
|
||||||
|
QRect previewBoxRect = o->rect(PredefinedRect::PREVIEW_FRAME_AREA)
|
||||||
|
.adjusted(0, 0, -frameAdj, 0)
|
||||||
|
.translated(basePoint);
|
||||||
|
p.fillRect(previewBoxRect, m_viewer->getNotEmptyColumnColor());
|
||||||
|
|
||||||
|
if (!o->isVerticalTimeline()) {
|
||||||
|
if (r == playR0) {
|
||||||
|
QLine horizontalLine(previewBoxRect.topLeft(),
|
||||||
|
previewBoxRect.bottomLeft());
|
||||||
|
p.setPen(m_viewer->getLightLineColor());
|
||||||
|
p.drawLine(horizontalLine);
|
||||||
|
} else if (r == playR1) {
|
||||||
|
QLine horizontalLine(previewBoxRect.topRight(),
|
||||||
|
previewBoxRect.bottomRight());
|
||||||
|
p.setPen(m_viewer->getLightLineColor());
|
||||||
|
p.drawLine(horizontalLine);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void RowArea::drawPlayRange(QPainter &p, int r0, int r1) {
|
void RowArea::drawPlayRange(QPainter &p, int r0, int r1) {
|
||||||
bool playRangeEnabled = XsheetGUI::isPlayRangeEnabled();
|
bool playRangeEnabled = XsheetGUI::isPlayRangeEnabled();
|
||||||
|
@ -297,8 +323,6 @@ void RowArea::drawPlayRange(QPainter &p, int r0, int r1) {
|
||||||
QColor ArrowColor = (playRangeEnabled) ? QColor(255, 255, 255) : grey150;
|
QColor ArrowColor = (playRangeEnabled) ? QColor(255, 255, 255) : grey150;
|
||||||
p.setBrush(QBrush(ArrowColor));
|
p.setBrush(QBrush(ArrowColor));
|
||||||
|
|
||||||
int topOrLeftCol =
|
|
||||||
m_viewer->orientation()->isVerticalTimeline() ? 0 : xsh->getColumnCount();
|
|
||||||
if (m_r0 > r0 - 1 && r1 + 1 > m_r0) {
|
if (m_r0 > r0 - 1 && r1 + 1 > m_r0) {
|
||||||
QPoint topLeft = m_viewer->positionToXY(CellPosition(m_r0, 0));
|
QPoint topLeft = m_viewer->positionToXY(CellPosition(m_r0, 0));
|
||||||
if (!m_viewer->orientation()->isVerticalTimeline()) topLeft.setY(0);
|
if (!m_viewer->orientation()->isVerticalTimeline()) topLeft.setY(0);
|
||||||
|
@ -350,15 +374,19 @@ void RowArea::drawOnionSkinSelection(QPainter &p) {
|
||||||
QColor frontColor((int)frontPixel.r, (int)frontPixel.g, (int)frontPixel.b,
|
QColor frontColor((int)frontPixel.r, (int)frontPixel.g, (int)frontPixel.b,
|
||||||
128);
|
128);
|
||||||
QColor backColor((int)backPixel.r, (int)backPixel.g, (int)backPixel.b, 128);
|
QColor backColor((int)backPixel.r, (int)backPixel.g, (int)backPixel.b, 128);
|
||||||
|
QColor frontDotColor((int)frontPixel.r, (int)frontPixel.g, (int)frontPixel.b);
|
||||||
|
QColor backDotColor((int)backPixel.r, (int)backPixel.g, (int)backPixel.b);
|
||||||
|
QPen frontPen, backPen;
|
||||||
|
|
||||||
// If the onion skin is disabled, draw dash line instead.
|
// If the onion skin is disabled, draw dash line instead.
|
||||||
if (osMask.isEnabled())
|
if (osMask.isEnabled()) {
|
||||||
p.setPen(Qt::red);
|
frontPen.setColor(frontDotColor);
|
||||||
else {
|
backPen.setColor(backDotColor);
|
||||||
QPen currentPen = p.pen();
|
} else {
|
||||||
currentPen.setStyle(Qt::DashLine);
|
frontPen.setStyle(Qt::DashLine);
|
||||||
currentPen.setColor(QColor(128, 128, 128, 255));
|
frontPen.setColor(QColor(128, 128, 128));
|
||||||
p.setPen(currentPen);
|
backPen.setStyle(Qt::DashLine);
|
||||||
|
backPen.setColor(QColor(128, 128, 128));
|
||||||
}
|
}
|
||||||
|
|
||||||
QRect onionRect = m_viewer->orientation()->rect(PredefinedRect::ONION);
|
QRect onionRect = m_viewer->orientation()->rect(PredefinedRect::ONION);
|
||||||
|
@ -388,6 +416,7 @@ void RowArea::drawOnionSkinSelection(QPainter &p) {
|
||||||
(frameAdj / 2);
|
(frameAdj / 2);
|
||||||
QLine verticalLine = m_viewer->orientation()->verticalLine(
|
QLine verticalLine = m_viewer->orientation()->verticalLine(
|
||||||
layerAxis, NumberRange(fromFrameAxis, toFrameAxis));
|
layerAxis, NumberRange(fromFrameAxis, toFrameAxis));
|
||||||
|
p.setPen(backPen);
|
||||||
if (m_viewer->orientation()->isVerticalTimeline())
|
if (m_viewer->orientation()->isVerticalTimeline())
|
||||||
p.drawLine(verticalLine.x1(), verticalLine.y1() + 5, verticalLine.x2(),
|
p.drawLine(verticalLine.x1(), verticalLine.y1() + 5, verticalLine.x2(),
|
||||||
verticalLine.y2() - 9);
|
verticalLine.y2() - 9);
|
||||||
|
@ -404,12 +433,13 @@ void RowArea::drawOnionSkinSelection(QPainter &p) {
|
||||||
onionCenter_frame - (frameAdj / 2);
|
onionCenter_frame - (frameAdj / 2);
|
||||||
QLine verticalLine = m_viewer->orientation()->verticalLine(
|
QLine verticalLine = m_viewer->orientation()->verticalLine(
|
||||||
layerAxis, NumberRange(fromFrameAxis, toFrameAxis));
|
layerAxis, NumberRange(fromFrameAxis, toFrameAxis));
|
||||||
|
p.setPen(frontPen);
|
||||||
if (m_viewer->orientation()->isVerticalTimeline())
|
if (m_viewer->orientation()->isVerticalTimeline())
|
||||||
p.drawLine(verticalLine.x1(), verticalLine.y1() + 10, verticalLine.x2(),
|
p.drawLine(verticalLine.x1(), verticalLine.y1() + 10, verticalLine.x2(),
|
||||||
verticalLine.y2() - 5);
|
verticalLine.y2() - 5);
|
||||||
else
|
else
|
||||||
p.drawLine(verticalLine.x1() + 10, verticalLine.y1(),
|
p.drawLine(verticalLine.x1() + 10, verticalLine.y1(),
|
||||||
verticalLine.x2() - 5, verticalLine.y2());
|
verticalLine.x2() - 3, verticalLine.y2());
|
||||||
}
|
}
|
||||||
// Draw onion skin main handle
|
// Draw onion skin main handle
|
||||||
QPoint handleTopLeft = m_viewer->positionToXY(CellPosition(currentRow, 0));
|
QPoint handleTopLeft = m_viewer->positionToXY(CellPosition(currentRow, 0));
|
||||||
|
@ -419,21 +449,23 @@ void RowArea::drawOnionSkinSelection(QPainter &p) {
|
||||||
int angle180 = 16 * 180;
|
int angle180 = 16 * 180;
|
||||||
int turn =
|
int turn =
|
||||||
m_viewer->orientation()->dimension(PredefinedDimension::ONION_TURN) * 16;
|
m_viewer->orientation()->dimension(PredefinedDimension::ONION_TURN) * 16;
|
||||||
|
p.setPen(backDotColor);
|
||||||
p.setBrush(QBrush(backColor));
|
p.setBrush(QBrush(backColor));
|
||||||
p.drawChord(handleRect, turn, angle180);
|
p.drawChord(handleRect, turn, angle180);
|
||||||
|
p.setPen(frontDotColor);
|
||||||
p.setBrush(QBrush(frontColor));
|
p.setBrush(QBrush(frontColor));
|
||||||
p.drawChord(handleRect, turn + angle180, angle180);
|
p.drawChord(handleRect, turn + angle180, angle180);
|
||||||
|
|
||||||
// draw onion skin dots
|
// draw onion skin dots
|
||||||
p.setPen(Qt::red);
|
|
||||||
for (int i = 0; i < mosCount; i++) {
|
for (int i = 0; i < mosCount; i++) {
|
||||||
// mos : frame offset from the current frame
|
// mos : frame offset from the current frame
|
||||||
int mos = osMask.getMos(i);
|
int mos = osMask.getMos(i);
|
||||||
// skip drawing if the frame is under the mouse cursor
|
// skip drawing if the frame is under the mouse cursor
|
||||||
if (m_showOnionToSet == Mos && currentRow + mos == m_row) continue;
|
if (m_showOnionToSet == Mos && currentRow + mos == m_row) continue;
|
||||||
|
|
||||||
|
p.setPen(mos < 0 ? backDotColor : frontDotColor);
|
||||||
if (osMask.isEnabled())
|
if (osMask.isEnabled())
|
||||||
p.setBrush(mos < 0 ? backColor : frontColor);
|
p.setBrush(mos < 0 ? backDotColor : frontDotColor);
|
||||||
else
|
else
|
||||||
p.setBrush(Qt::NoBrush);
|
p.setBrush(Qt::NoBrush);
|
||||||
QPoint topLeft = m_viewer->positionToXY(CellPosition(currentRow + mos, 0));
|
QPoint topLeft = m_viewer->positionToXY(CellPosition(currentRow + mos, 0));
|
||||||
|
@ -452,6 +484,7 @@ void RowArea::drawOnionSkinSelection(QPainter &p) {
|
||||||
// skip drawing if the frame is under the mouse cursor
|
// skip drawing if the frame is under the mouse cursor
|
||||||
if (m_showOnionToSet == Fos && fos == m_row) continue;
|
if (m_showOnionToSet == Fos && fos == m_row) continue;
|
||||||
|
|
||||||
|
p.setPen(QColor(0, 255, 255, 128));
|
||||||
if (osMask.isEnabled())
|
if (osMask.isEnabled())
|
||||||
p.setBrush(QBrush(QColor(0, 255, 255, 128)));
|
p.setBrush(QBrush(QColor(0, 255, 255, 128)));
|
||||||
else
|
else
|
||||||
|
@ -467,7 +500,7 @@ void RowArea::drawOnionSkinSelection(QPainter &p) {
|
||||||
|
|
||||||
//-- onion placement hint under mouse
|
//-- onion placement hint under mouse
|
||||||
if (m_showOnionToSet != None) {
|
if (m_showOnionToSet != None) {
|
||||||
p.setPen(QColor(255, 128, 0));
|
p.setPen(QColor(255, 255, 0));
|
||||||
p.setBrush(QBrush(QColor(255, 255, 0)));
|
p.setBrush(QBrush(QColor(255, 255, 0)));
|
||||||
QPoint topLeft = m_viewer->positionToXY(CellPosition(m_row, 0));
|
QPoint topLeft = m_viewer->positionToXY(CellPosition(m_row, 0));
|
||||||
if (!m_viewer->orientation()->isVerticalTimeline()) topLeft.setY(0);
|
if (!m_viewer->orientation()->isVerticalTimeline()) topLeft.setY(0);
|
||||||
|
@ -625,6 +658,8 @@ void RowArea::paintEvent(QPaintEvent *event) {
|
||||||
// fill background
|
// fill background
|
||||||
p.fillRect(toBeUpdated, m_viewer->getBGColor());
|
p.fillRect(toBeUpdated, m_viewer->getBGColor());
|
||||||
|
|
||||||
|
drawPlayRangeBackground(p, r0, r1);
|
||||||
|
|
||||||
if (TApp::instance()->getCurrentFrame()->isEditingScene())
|
if (TApp::instance()->getCurrentFrame()->isEditingScene())
|
||||||
// current frame
|
// current frame
|
||||||
drawCurrentRowGadget(p, r0, r1);
|
drawCurrentRowGadget(p, r0, r1);
|
||||||
|
|
|
@ -44,6 +44,7 @@ class RowArea final : public QWidget {
|
||||||
bool m_isPanning;
|
bool m_isPanning;
|
||||||
|
|
||||||
void drawRows(QPainter &p, int r0, int r1);
|
void drawRows(QPainter &p, int r0, int r1);
|
||||||
|
void drawPlayRangeBackground(QPainter &p, int r0, int r1);
|
||||||
void drawPlayRange(QPainter &p, int r0, int r1);
|
void drawPlayRange(QPainter &p, int r0, int r1);
|
||||||
void drawCurrentRowGadget(QPainter &p, int r0, int r1);
|
void drawCurrentRowGadget(QPainter &p, int r0, int r1);
|
||||||
void drawOnionSkinSelection(QPainter &p);
|
void drawOnionSkinSelection(QPainter &p);
|
||||||
|
|
|
@ -17,8 +17,7 @@ const int PLAY_MARKER_SIZE = 10;
|
||||||
const int ONION_SIZE = 19;
|
const int ONION_SIZE = 19;
|
||||||
const int ONION_DOT_SIZE = 8;
|
const int ONION_DOT_SIZE = 8;
|
||||||
const int PINNED_SIZE = 10;
|
const int PINNED_SIZE = 10;
|
||||||
const int FRAME_DOT_SIZE = 8;
|
const int FRAME_MARKER_SIZE = 4;
|
||||||
const int FRAME_IND_SIZE = 3;
|
|
||||||
const int FOLDED_CELL_SIZE = 9;
|
const int FOLDED_CELL_SIZE = 9;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -305,7 +304,7 @@ TopToBottomOrientation::TopToBottomOrientation() {
|
||||||
PredefinedRect::END_SOUND_EDIT,
|
PredefinedRect::END_SOUND_EDIT,
|
||||||
QRect(CELL_DRAG_WIDTH, CELL_HEIGHT - 2, CELL_WIDTH - CELL_DRAG_WIDTH, 2));
|
QRect(CELL_DRAG_WIDTH, CELL_HEIGHT - 2, CELL_WIDTH - CELL_DRAG_WIDTH, 2));
|
||||||
addRect(PredefinedRect::LOOP_ICON, QRect(keyRect.left(), 0, 10, 11));
|
addRect(PredefinedRect::LOOP_ICON, QRect(keyRect.left(), 0, 10, 11));
|
||||||
addRect(PredefinedRect::FRAME_DOT, QRect(0, 0, -1, -1)); // hide
|
addRect(PredefinedRect::FRAME_MARKER_AREA, QRect(0, 0, -1, -1)); // hide
|
||||||
|
|
||||||
// Note viewer
|
// Note viewer
|
||||||
addRect(
|
addRect(
|
||||||
|
@ -344,7 +343,9 @@ TopToBottomOrientation::TopToBottomOrientation() {
|
||||||
addRect(PredefinedRect::PINNED_CENTER_KEY,
|
addRect(PredefinedRect::PINNED_CENTER_KEY,
|
||||||
QRect((FRAME_HEADER_WIDTH - PINNED_SIZE) / 2,
|
QRect((FRAME_HEADER_WIDTH - PINNED_SIZE) / 2,
|
||||||
(CELL_HEIGHT - PINNED_SIZE) / 2, PINNED_SIZE, PINNED_SIZE));
|
(CELL_HEIGHT - PINNED_SIZE) / 2, PINNED_SIZE, PINNED_SIZE));
|
||||||
addRect(PredefinedRect::FRAME_INDICATOR, QRect(0, 0, -1, -1)); // hide
|
addRect(
|
||||||
|
PredefinedRect::PREVIEW_FRAME_AREA,
|
||||||
|
QRect(PLAY_RANGE_X, 0, (FRAME_HEADER_WIDTH - PLAY_RANGE_X), CELL_HEIGHT));
|
||||||
|
|
||||||
// Column viewer
|
// Column viewer
|
||||||
addRect(PredefinedRect::LAYER_HEADER,
|
addRect(PredefinedRect::LAYER_HEADER,
|
||||||
|
@ -902,10 +903,10 @@ LeftToRightOrientation::LeftToRightOrientation() {
|
||||||
QRect(CELL_WIDTH - 2, CELL_DRAG_HEIGHT, 2,
|
QRect(CELL_WIDTH - 2, CELL_DRAG_HEIGHT, 2,
|
||||||
CELL_HEIGHT - CELL_DRAG_HEIGHT));
|
CELL_HEIGHT - CELL_DRAG_HEIGHT));
|
||||||
addRect(PredefinedRect::LOOP_ICON, QRect(0, keyRect.top(), 10, 11));
|
addRect(PredefinedRect::LOOP_ICON, QRect(0, keyRect.top(), 10, 11));
|
||||||
addRect(
|
QRect frameMarker((CELL_WIDTH - FRAME_MARKER_SIZE) / 2 - 1,
|
||||||
PredefinedRect::FRAME_DOT,
|
CELL_HEIGHT - FRAME_MARKER_SIZE - 6, FRAME_MARKER_SIZE,
|
||||||
QRect((CELL_WIDTH - FRAME_DOT_SIZE) / 2 - 1,
|
FRAME_MARKER_SIZE);
|
||||||
CELL_HEIGHT - FRAME_DOT_SIZE - 6, FRAME_DOT_SIZE, FRAME_DOT_SIZE));
|
addRect(PredefinedRect::FRAME_MARKER_AREA, frameMarker);
|
||||||
|
|
||||||
// Notes viewer
|
// Notes viewer
|
||||||
addRect(
|
addRect(
|
||||||
|
@ -948,10 +949,9 @@ LeftToRightOrientation::LeftToRightOrientation() {
|
||||||
PredefinedRect::PINNED_CENTER_KEY,
|
PredefinedRect::PINNED_CENTER_KEY,
|
||||||
QRect((CELL_WIDTH - PINNED_SIZE) / 2,
|
QRect((CELL_WIDTH - PINNED_SIZE) / 2,
|
||||||
(FRAME_HEADER_HEIGHT - PINNED_SIZE) / 2, PINNED_SIZE, PINNED_SIZE));
|
(FRAME_HEADER_HEIGHT - PINNED_SIZE) / 2, PINNED_SIZE, PINNED_SIZE));
|
||||||
addRect(PredefinedRect::FRAME_INDICATOR,
|
addRect(
|
||||||
QRect((CELL_WIDTH - FRAME_IND_SIZE) / 2,
|
PredefinedRect::PREVIEW_FRAME_AREA,
|
||||||
FRAME_HEADER_HEIGHT - FRAME_IND_SIZE, FRAME_IND_SIZE,
|
QRect(0, PLAY_RANGE_Y, CELL_WIDTH, (FRAME_HEADER_HEIGHT - PLAY_RANGE_Y)));
|
||||||
FRAME_IND_SIZE));
|
|
||||||
|
|
||||||
// Column viewer
|
// Column viewer
|
||||||
addRect(PredefinedRect::LAYER_HEADER,
|
addRect(PredefinedRect::LAYER_HEADER,
|
||||||
|
@ -959,8 +959,8 @@ LeftToRightOrientation::LeftToRightOrientation() {
|
||||||
addRect(
|
addRect(
|
||||||
PredefinedRect::FOLDED_LAYER_HEADER,
|
PredefinedRect::FOLDED_LAYER_HEADER,
|
||||||
QRect(1, 0, FOLDED_LAYER_HEADER_WIDTH - 2, FOLDED_LAYER_HEADER_HEIGHT));
|
QRect(1, 0, FOLDED_LAYER_HEADER_WIDTH - 2, FOLDED_LAYER_HEADER_HEIGHT));
|
||||||
QRect columnName(ICONS_WIDTH + 2, 1,
|
QRect columnName(ICONS_WIDTH + 1, 0,
|
||||||
LAYER_NAME_WIDTH + LAYER_NUMBER_WIDTH - 4, CELL_HEIGHT - 1);
|
LAYER_NAME_WIDTH + LAYER_NUMBER_WIDTH - 4, CELL_HEIGHT);
|
||||||
addRect(PredefinedRect::RENAME_COLUMN, columnName);
|
addRect(PredefinedRect::RENAME_COLUMN, columnName);
|
||||||
QRect eye(1, 0, ICON_WIDTH, ICON_HEIGHT);
|
QRect eye(1, 0, ICON_WIDTH, ICON_HEIGHT);
|
||||||
addRect(PredefinedRect::EYE_AREA, eye);
|
addRect(PredefinedRect::EYE_AREA, eye);
|
||||||
|
@ -1019,9 +1019,9 @@ LeftToRightOrientation::LeftToRightOrientation() {
|
||||||
// Flags
|
// Flags
|
||||||
addFlag(PredefinedFlag::DRAG_LAYER_BORDER, false);
|
addFlag(PredefinedFlag::DRAG_LAYER_BORDER, false);
|
||||||
addFlag(PredefinedFlag::DRAG_LAYER_VISIBLE, true);
|
addFlag(PredefinedFlag::DRAG_LAYER_VISIBLE, true);
|
||||||
addFlag(PredefinedFlag::LAYER_NAME_BORDER, false);
|
addFlag(PredefinedFlag::LAYER_NAME_BORDER, true);
|
||||||
addFlag(PredefinedFlag::LAYER_NAME_VISIBLE, true);
|
addFlag(PredefinedFlag::LAYER_NAME_VISIBLE, true);
|
||||||
addFlag(PredefinedFlag::LAYER_NUMBER_BORDER, false);
|
addFlag(PredefinedFlag::LAYER_NUMBER_BORDER, true);
|
||||||
addFlag(PredefinedFlag::LAYER_NUMBER_VISIBLE, true);
|
addFlag(PredefinedFlag::LAYER_NUMBER_VISIBLE, true);
|
||||||
addFlag(PredefinedFlag::EYE_AREA_BORDER, true);
|
addFlag(PredefinedFlag::EYE_AREA_BORDER, true);
|
||||||
addFlag(PredefinedFlag::EYE_AREA_VISIBLE, true);
|
addFlag(PredefinedFlag::EYE_AREA_VISIBLE, true);
|
||||||
|
@ -1043,7 +1043,7 @@ LeftToRightOrientation::LeftToRightOrientation() {
|
||||||
// Lines
|
// Lines
|
||||||
//
|
//
|
||||||
addLine(PredefinedLine::LOCKED,
|
addLine(PredefinedLine::LOCKED,
|
||||||
verticalLine(CELL_DRAG_HEIGHT / 2, NumberRange(0, CELL_WIDTH)));
|
verticalLine((CELL_DRAG_HEIGHT + 1) / 2, NumberRange(0, CELL_WIDTH)));
|
||||||
addLine(PredefinedLine::SEE_MARKER_THROUGH,
|
addLine(PredefinedLine::SEE_MARKER_THROUGH,
|
||||||
horizontalLine(0, NumberRange(0, CELL_DRAG_HEIGHT)));
|
horizontalLine(0, NumberRange(0, CELL_DRAG_HEIGHT)));
|
||||||
addLine(PredefinedLine::CONTINUE_LEVEL,
|
addLine(PredefinedLine::CONTINUE_LEVEL,
|
||||||
|
@ -1076,6 +1076,13 @@ LeftToRightOrientation::LeftToRightOrientation() {
|
||||||
corner.lineTo(QPointF(CELL_WIDTH, 0));
|
corner.lineTo(QPointF(CELL_WIDTH, 0));
|
||||||
addPath(PredefinedPath::DRAG_HANDLE_CORNER, corner);
|
addPath(PredefinedPath::DRAG_HANDLE_CORNER, corner);
|
||||||
|
|
||||||
|
QPainterPath diamond(QPointF(0, -4));
|
||||||
|
diamond.lineTo(4, 0);
|
||||||
|
diamond.lineTo(0, 4);
|
||||||
|
diamond.lineTo(-4, 0);
|
||||||
|
diamond.lineTo(0, -4);
|
||||||
|
addPath(PredefinedPath::FRAME_MARKER_DIAMOND, diamond);
|
||||||
|
|
||||||
QPainterPath fromTriangle(QPointF(EASE_TRIANGLE_SIZE / 2, 0));
|
QPainterPath fromTriangle(QPointF(EASE_TRIANGLE_SIZE / 2, 0));
|
||||||
fromTriangle.lineTo(QPointF(-EASE_TRIANGLE_SIZE / 2, EASE_TRIANGLE_SIZE));
|
fromTriangle.lineTo(QPointF(-EASE_TRIANGLE_SIZE / 2, EASE_TRIANGLE_SIZE));
|
||||||
fromTriangle.lineTo(QPointF(-EASE_TRIANGLE_SIZE / 2, -EASE_TRIANGLE_SIZE));
|
fromTriangle.lineTo(QPointF(-EASE_TRIANGLE_SIZE / 2, -EASE_TRIANGLE_SIZE));
|
||||||
|
@ -1101,7 +1108,7 @@ LeftToRightOrientation::LeftToRightOrientation() {
|
||||||
playTo.lineTo(QPointF(-PLAY_MARKER_SIZE, 0));
|
playTo.lineTo(QPointF(-PLAY_MARKER_SIZE, 0));
|
||||||
playTo.lineTo(QPointF(0, PLAY_MARKER_SIZE));
|
playTo.lineTo(QPointF(0, PLAY_MARKER_SIZE));
|
||||||
playTo.lineTo(QPointF(0, 0));
|
playTo.lineTo(QPointF(0, 0));
|
||||||
playTo.translate(CELL_WIDTH - 1, PLAY_RANGE_Y);
|
playTo.translate(CELL_WIDTH - 2, PLAY_RANGE_Y);
|
||||||
addPath(PredefinedPath::END_PLAY_RANGE, playTo);
|
addPath(PredefinedPath::END_PLAY_RANGE, playTo);
|
||||||
|
|
||||||
QPainterPath track(QPointF(0, 0));
|
QPainterPath track(QPointF(0, 0));
|
||||||
|
|
|
@ -341,7 +341,8 @@ Preferences::Preferences()
|
||||||
, m_enableAutoStretch(true)
|
, m_enableAutoStretch(true)
|
||||||
, m_cursorBrushType("Small")
|
, m_cursorBrushType("Small")
|
||||||
, m_cursorBrushStyle("Default")
|
, m_cursorBrushStyle("Default")
|
||||||
, m_cursorOutlineEnabled(true) {
|
, m_cursorOutlineEnabled(true)
|
||||||
|
, m_currentColumnColor(TPixel::Black) {
|
||||||
TCamera camera;
|
TCamera camera;
|
||||||
m_defLevelType = PLI_XSHLEVEL;
|
m_defLevelType = PLI_XSHLEVEL;
|
||||||
m_defLevelWidth = camera.getSize().lx;
|
m_defLevelWidth = camera.getSize().lx;
|
||||||
|
@ -703,6 +704,12 @@ Preferences::Preferences()
|
||||||
setCursorBrushStyle(m_cursorBrushStyle.toStdString());
|
setCursorBrushStyle(m_cursorBrushStyle.toStdString());
|
||||||
|
|
||||||
getValue(*m_settings, "cursorOutlineEnabled", m_cursorOutlineEnabled);
|
getValue(*m_settings, "cursorOutlineEnabled", m_cursorOutlineEnabled);
|
||||||
|
|
||||||
|
r = 255, g = 0, b = 0;
|
||||||
|
getValue(*m_settings, "currentColumnColor.r", r);
|
||||||
|
getValue(*m_settings, "currentColumnColor.g", g);
|
||||||
|
getValue(*m_settings, "currentColumnColor.b", b);
|
||||||
|
m_currentColumnColor = TPixel32(r, g, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------
|
//-----------------------------------------------------------------
|
||||||
|
@ -1708,3 +1715,13 @@ void Preferences::enableCursorOutline(bool on) {
|
||||||
m_cursorOutlineEnabled = on;
|
m_cursorOutlineEnabled = on;
|
||||||
m_settings->setValue("cursorOutlineEnabled", on ? "1" : "0");
|
m_settings->setValue("cursorOutlineEnabled", on ? "1" : "0");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Preferences::setCurrentColumnData(const TPixel ¤tColumnColor) {
|
||||||
|
m_currentColumnColor = currentColumnColor;
|
||||||
|
m_settings->setValue("currentColumnColor.r",
|
||||||
|
QString::number(currentColumnColor.r));
|
||||||
|
m_settings->setValue("currentColumnColor.g",
|
||||||
|
QString::number(currentColumnColor.g));
|
||||||
|
m_settings->setValue("currentColumnColor.b",
|
||||||
|
QString::number(currentColumnColor.b));
|
||||||
|
}
|
||||||
|
|