mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-10-31 03:10:07 +00:00 
			
		
		
		
	added placeholder image + added index cleanup action -- not sure if I'll keep it in (or enabled)...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									8149fcf41a
								
							
						
					
					
						commit
						ed61746a64
					
				| @ -10,6 +10,10 @@ | |||||||
| 	font-family: OpenSans; | 	font-family: OpenSans; | ||||||
| 	src: url(fonts/Open_Sans/OpenSans-Regular.ttf); | 	src: url(fonts/Open_Sans/OpenSans-Regular.ttf); | ||||||
| } | } | ||||||
|  | @font-face { | ||||||
|  | 	font-family: 'OpenSans-Light'; | ||||||
|  | 	src: url(fonts/Open_Sans/OpenSans-Light.ttf); | ||||||
|  | } | ||||||
| /* | /* | ||||||
| @font-face { | @font-face { | ||||||
| 	font-family: OpenSans; | 	font-family: OpenSans; | ||||||
| @ -38,11 +42,6 @@ | |||||||
| 	font-weight: bolder; | 	font-weight: bolder; | ||||||
| 	font-style: italic; | 	font-style: italic; | ||||||
| } | } | ||||||
| @font-face { |  | ||||||
| 	font-family: OpenSans; |  | ||||||
| 	src: url(fonts/Open_Sans/OpenSans-Light.ttf); |  | ||||||
| 	font-weight: lighter; |  | ||||||
| } |  | ||||||
| @font-face { | @font-face { | ||||||
| 	font-family: OpenSans; | 	font-family: OpenSans; | ||||||
| 	src: url(fonts/Open_Sans/OpenSans-LightItalic.ttf); | 	src: url(fonts/Open_Sans/OpenSans-LightItalic.ttf); | ||||||
|  | |||||||
							
								
								
									
										62
									
								
								ui (gen4)/data/placeholder-image.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								ui (gen4)/data/placeholder-image.svg
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,62 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" | ||||||
|  | 	 viewBox="0 0 1000 1000" style="enable-background:new 0 0 1000 1000;" xml:space="preserve"> | ||||||
|  | <style type="text/css"> | ||||||
|  | 	#vertical { | ||||||
|  | 		opacity: 0.25; | ||||||
|  | 	} | ||||||
|  | 	#corners { | ||||||
|  | 		opacity: 0.5; | ||||||
|  | 	} | ||||||
|  | 	.line { | ||||||
|  | 		fill: none; | ||||||
|  | 		stroke: #FFFFFF; | ||||||
|  | 		stroke-width: 2; | ||||||
|  | 		stroke-miterlimit: 10; | ||||||
|  | 	} | ||||||
|  | 	.label { | ||||||
|  | 		font-family: 'OpenSans-Light', sans-serif; | ||||||
|  | 		font-size: 82px; | ||||||
|  | 	} | ||||||
|  | 	.stroke { | ||||||
|  | 		fill: #FFFFFF; | ||||||
|  | 	} | ||||||
|  | </style> | ||||||
|  | <g id="background"> | ||||||
|  | 	<rect x="0" y="0" width="1000" height="1000"/> | ||||||
|  | </g> | ||||||
|  | <g id="vertical"> | ||||||
|  | 	<g> | ||||||
|  | 		<path class="stroke" d="M831,2v996H169V2H831 M833,0H167v1000h666V0L833,0z"/> | ||||||
|  | 	</g> | ||||||
|  | 	<line class="line" x1="167" y1="1000" x2="833" y2="0"/> | ||||||
|  | 	<line class="line" x1="167" y1="0" x2="833" y2="1000"/> | ||||||
|  | </g> | ||||||
|  | <g id="horizontal"> | ||||||
|  | 	<g> | ||||||
|  | 		<path class="stroke" d="M998,169v662H2V169H998 M1000,167H0v666h1000V167L1000,167z"/> | ||||||
|  | 	</g> | ||||||
|  | 	<line class="line" x1="1000" y1="167" x2="5" y2="833"/> | ||||||
|  | 	<g> | ||||||
|  | 		<line class="line" x1="0" y1="167" x2="1000" y2="833"/> | ||||||
|  | 	</g> | ||||||
|  | </g> | ||||||
|  | <g id="corners"> | ||||||
|  | 	<g> | ||||||
|  | 		<path class="stroke" d="M5.5,5.5l79.3,47.6L53.1,84.8L5.5,5.5 M-0.4-0.4l53,88.4L88,52.7L-0.4-0.4L-0.4-0.4z"/> | ||||||
|  | 	</g> | ||||||
|  | 	<g> | ||||||
|  | 		<path class="stroke" d="M994.5,5.5l-47.6,79.3l-31.7-31.7L994.5,5.5 M1000.4-0.4l-88.4,53L947.3,88L1000.4-0.4L1000.4-0.4z"/> | ||||||
|  | 	</g> | ||||||
|  | 	<g> | ||||||
|  | 		<path class="stroke" d="M946.9,915.2l47.6,79.3l-79.3-47.6L946.9,915.2 M947.3,912L912,947.3l88.4,53L947.3,912L947.3,912z"/> | ||||||
|  | 	</g> | ||||||
|  | 	<g> | ||||||
|  | 		<path class="stroke" d="M53.1,915.2l31.7,31.7L5.5,994.5L53.1,915.2 M52.7,912l-53,88.4l88.4-53L52.7,912L52.7,912z"/> | ||||||
|  | 	</g> | ||||||
|  | </g> | ||||||
|  | <g id="text"> | ||||||
|  | 	<rect x="356" y="452" width="290" height="100.3"/> | ||||||
|  | 	<text transform="matrix(1 0 0 1 373 528)" class="stroke label">IMAGE</text> | ||||||
|  | </g> | ||||||
|  | </svg> | ||||||
| After Width: | Height: | Size: 1.8 KiB | 
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @ -1,200 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  --> |  | ||||||
| <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" |  | ||||||
| 	 viewBox="0 0 1280 800" style="enable-background:new 0 0 1280 800;" xml:space="preserve"> |  | ||||||
| <style type="text/css"> |  | ||||||
| 	.st0{opacity:0.25;} |  | ||||||
| 	.st1{fill:#FFFFFF;} |  | ||||||
| 	.st2{opacity:0.1;} |  | ||||||
| 	.st3{fill:none;stroke:#FFFFFF;stroke-miterlimit:10;} |  | ||||||
| 	.st4{opacity:0.5;} |  | ||||||
| </style> |  | ||||||
| <g> |  | ||||||
| 	<g> |  | ||||||
| 		<rect x="755.8" y="209.2" width="299.4" height="300.4"/> |  | ||||||
| 	</g> |  | ||||||
| 	<g class="st0"> |  | ||||||
| 		<path class="st1" d="M1054.6,275.9v166.8h-298V275.9H1054.6 M1055.6,274.9h-300v168.8h300V274.9L1055.6,274.9z"/> |  | ||||||
| 	</g> |  | ||||||
| 	<g class="st2"> |  | ||||||
| 		<g> |  | ||||||
| 			<path class="st1" d="M1004.6,210.3v298h-198v-298H1004.6 M1005.6,209.3h-200v300h200V209.3L1005.6,209.3z"/> |  | ||||||
| 		</g> |  | ||||||
| 		<g> |  | ||||||
| 			<line class="st3" x1="805.6" y1="209.3" x2="1005.6" y2="509.3"/> |  | ||||||
| 		</g> |  | ||||||
| 		<line class="st3" x1="1005.4" y1="209.4" x2="805.4" y2="509.4"/> |  | ||||||
| 	</g> |  | ||||||
| 	<g> |  | ||||||
| 		<g> |  | ||||||
| 			<path class="st1" d="M1054.6,260.3v198h-298v-198H1054.6 M1055.6,259.3h-300v200h300V259.3L1055.6,259.3z"/> |  | ||||||
| 		</g> |  | ||||||
| 		<line class="st3" x1="755.4" y1="459.4" x2="1055.4" y2="259.4"/> |  | ||||||
| 		<line class="st3" x1="755.4" y1="259.4" x2="1055.4" y2="459.4"/> |  | ||||||
| 	</g> |  | ||||||
| 	<g class="st0"> |  | ||||||
| 		<polygon class="st3" points="755.8,209.2 774.5,243.6 790.1,227.9 		"/> |  | ||||||
| 		<polygon class="st3" points="1055.1,209.2 1020.8,227.9 1036.5,243.6 		"/> |  | ||||||
| 		<polygon class="st3" points="755.8,509.6 790.1,490.9 774.5,475.3 		"/> |  | ||||||
| 		<polygon class="st3" points="1055.1,509.6 1036.5,475.3 1020.8,490.9 		"/> |  | ||||||
| 	</g> |  | ||||||
| 	<g class="st4"> |  | ||||||
| 		<path class="st1" d="M890.3,230.3h-2v-15.4h-5.4v-1.8h12.8v1.8h-5.4V230.3z"/> |  | ||||||
| 		<path class="st1" d="M913.2,221.7c0,2.7-0.7,4.9-2.1,6.5s-3.3,2.4-5.8,2.4c-2.5,0-4.5-0.8-5.8-2.3s-2.1-3.7-2.1-6.5 |  | ||||||
| 			c0-2.8,0.7-5,2.1-6.5s3.3-2.3,5.9-2.3c2.5,0,4.4,0.8,5.8,2.3S913.2,218.9,913.2,221.7z M899.6,221.7c0,2.3,0.5,4.1,1.5,5.3 |  | ||||||
| 			s2.4,1.8,4.3,1.8c1.9,0,3.3-0.6,4.3-1.8s1.5-3,1.5-5.3c0-2.3-0.5-4.1-1.4-5.2s-2.4-1.8-4.3-1.8c-1.9,0-3.3,0.6-4.3,1.8 |  | ||||||
| 			S899.6,219.4,899.6,221.7z"/> |  | ||||||
| 		<path class="st1" d="M927.9,218.1c0,1.7-0.6,3.1-1.8,4s-2.9,1.4-5.1,1.4h-2v6.7h-2v-17.1h4.4C925.8,213.1,927.9,214.8,927.9,218.1 |  | ||||||
| 			z M919,221.8h1.8c1.8,0,3-0.3,3.8-0.9s1.2-1.5,1.2-2.7c0-1.1-0.4-2-1.1-2.5s-1.9-0.8-3.5-0.8H919V221.8z"/> |  | ||||||
| 	</g> |  | ||||||
| 	<g class="st4"> |  | ||||||
| 		<path class="st1" d="M898.3,503.3h-11.3v-1.7l4.5-4.5c1.4-1.4,2.3-2.4,2.7-3s0.8-1.2,1-1.7s0.3-1.2,0.3-1.8c0-0.9-0.3-1.6-0.8-2.2 |  | ||||||
| 			s-1.3-0.8-2.3-0.8c-0.7,0-1.4,0.1-2,0.4s-1.3,0.7-2.1,1.3l-1-1.3c1.6-1.3,3.3-2,5.2-2c1.6,0,2.9,0.4,3.8,1.2s1.4,1.9,1.4,3.3 |  | ||||||
| 			c0,1.1-0.3,2.2-0.9,3.2s-1.8,2.4-3.4,4l-3.8,3.7v0.1h8.8V503.3z"/> |  | ||||||
| 		<path class="st1" d="M904.8,496.7l-4.5-6.3h2.2l3.4,4.9l3.4-4.9h2.2l-4.5,6.3l4.7,6.6h-2.2l-3.6-5.2l-3.6,5.2h-2.2L904.8,496.7z" |  | ||||||
| 			/> |  | ||||||
| 		<path class="st1" d="M924,490.2c0,1.1-0.3,2-0.9,2.7s-1.5,1.2-2.6,1.4v0.1c1.4,0.2,2.4,0.6,3.1,1.3s1,1.6,1,2.8 |  | ||||||
| 			c0,1.6-0.6,2.9-1.7,3.8s-2.7,1.3-4.8,1.3c-0.9,0-1.7-0.1-2.5-0.2s-1.5-0.4-2.2-0.7v-1.9c0.7,0.4,1.5,0.6,2.4,0.8s1.6,0.3,2.4,0.3 |  | ||||||
| 			c3,0,4.4-1.2,4.4-3.5c0-2.1-1.6-3.1-4.9-3.1h-1.7v-1.7h1.7c1.3,0,2.4-0.3,3.2-0.9s1.2-1.4,1.2-2.5c0-0.8-0.3-1.5-0.9-2 |  | ||||||
| 			s-1.4-0.7-2.3-0.7c-0.8,0-1.5,0.1-2.1,0.3s-1.4,0.6-2.3,1.1l-1-1.3c0.7-0.6,1.5-1,2.4-1.3s1.9-0.5,2.9-0.5c1.7,0,3,0.4,3.9,1.1 |  | ||||||
| 			S924,488.9,924,490.2z"/> |  | ||||||
| 	</g> |  | ||||||
| </g> |  | ||||||
| <g> |  | ||||||
| 	<g> |  | ||||||
| 		<rect x="396.3" y="209.2" width="299.4" height="300.4"/> |  | ||||||
| 	</g> |  | ||||||
| 	<g class="st0"> |  | ||||||
| 		<path class="st1" d="M695.2,275.9v166.8h-298V275.9H695.2 M696.2,274.9h-300v168.8h300V274.9L696.2,274.9z"/> |  | ||||||
| 	</g> |  | ||||||
| 	<g> |  | ||||||
| 		<g> |  | ||||||
| 			<path class="st1" d="M645.2,210.3v298h-198v-298H645.2 M646.2,209.3h-200v300h200V209.3L646.2,209.3z"/> |  | ||||||
| 		</g> |  | ||||||
| 		<g> |  | ||||||
| 			<line class="st3" x1="446.2" y1="209.3" x2="646.2" y2="509.3"/> |  | ||||||
| 		</g> |  | ||||||
| 		<line class="st3" x1="645.9" y1="209.4" x2="445.9" y2="509.4"/> |  | ||||||
| 	</g> |  | ||||||
| 	<g class="st2"> |  | ||||||
| 		<g> |  | ||||||
| 			<path class="st1" d="M695.2,260.3v198h-298v-198H695.2 M696.2,259.3h-300v200h300V259.3L696.2,259.3z"/> |  | ||||||
| 		</g> |  | ||||||
| 		<line class="st3" x1="395.9" y1="459.4" x2="695.9" y2="259.4"/> |  | ||||||
| 		<line class="st3" x1="395.9" y1="259.4" x2="695.9" y2="459.4"/> |  | ||||||
| 	</g> |  | ||||||
| 	<g class="st0"> |  | ||||||
| 		<polygon class="st3" points="396.3,209.2 415,243.6 430.7,227.9 		"/> |  | ||||||
| 		<polygon class="st3" points="695.7,209.2 661.3,227.9 677,243.6 		"/> |  | ||||||
| 		<polygon class="st3" points="396.3,509.6 430.7,490.9 415,475.3 		"/> |  | ||||||
| 		<polygon class="st3" points="695.7,509.6 677,475.3 661.3,490.9 		"/> |  | ||||||
| 	</g> |  | ||||||
| 	<g class="st4"> |  | ||||||
| 		<path class="st1" d="M528.9,230.3h-2v-15.4h-5.4v-1.8h12.8v1.8h-5.4V230.3z"/> |  | ||||||
| 		<path class="st1" d="M551.8,221.7c0,2.7-0.7,4.9-2.1,6.5s-3.3,2.4-5.8,2.4c-2.5,0-4.5-0.8-5.8-2.3s-2.1-3.7-2.1-6.5 |  | ||||||
| 			c0-2.8,0.7-5,2.1-6.5s3.3-2.3,5.9-2.3c2.5,0,4.4,0.8,5.8,2.3S551.8,218.9,551.8,221.7z M538.1,221.7c0,2.3,0.5,4.1,1.5,5.3 |  | ||||||
| 			s2.4,1.8,4.3,1.8c1.9,0,3.3-0.6,4.3-1.8s1.5-3,1.5-5.3c0-2.3-0.5-4.1-1.4-5.2s-2.4-1.8-4.3-1.8c-1.9,0-3.3,0.6-4.3,1.8 |  | ||||||
| 			S538.1,219.4,538.1,221.7z"/> |  | ||||||
| 		<path class="st1" d="M566.4,218.1c0,1.7-0.6,3.1-1.8,4s-2.9,1.4-5.1,1.4h-2v6.7h-2v-17.1h4.4C564.3,213.1,566.4,214.8,566.4,218.1 |  | ||||||
| 			z M557.6,221.8h1.8c1.8,0,3-0.3,3.8-0.9s1.2-1.5,1.2-2.7c0-1.1-0.4-2-1.1-2.5s-1.9-0.8-3.5-0.8h-2.2V221.8z"/> |  | ||||||
| 	</g> |  | ||||||
| 	<g class="st4"> |  | ||||||
| 		<path class="st1" d="M536.9,503.3h-11.3v-1.7l4.5-4.5c1.4-1.4,2.3-2.4,2.7-3s0.8-1.2,1-1.7s0.3-1.2,0.3-1.8c0-0.9-0.3-1.6-0.8-2.2 |  | ||||||
| 			s-1.3-0.8-2.3-0.8c-0.7,0-1.4,0.1-2,0.4s-1.3,0.7-2.1,1.3l-1-1.3c1.6-1.3,3.3-2,5.2-2c1.6,0,2.9,0.4,3.8,1.2s1.4,1.9,1.4,3.3 |  | ||||||
| 			c0,1.1-0.3,2.2-0.9,3.2s-1.8,2.4-3.4,4l-3.8,3.7v0.1h8.8V503.3z"/> |  | ||||||
| 		<path class="st1" d="M543.3,496.7l-4.5-6.3h2.2l3.4,4.9l3.4-4.9h2.2l-4.5,6.3l4.7,6.6h-2.2l-3.6-5.2l-3.6,5.2h-2.2L543.3,496.7z" |  | ||||||
| 			/> |  | ||||||
| 		<path class="st1" d="M562.5,490.2c0,1.1-0.3,2-0.9,2.7s-1.5,1.2-2.6,1.4v0.1c1.4,0.2,2.4,0.6,3.1,1.3s1,1.6,1,2.8 |  | ||||||
| 			c0,1.6-0.6,2.9-1.7,3.8s-2.7,1.3-4.8,1.3c-0.9,0-1.7-0.1-2.5-0.2s-1.5-0.4-2.2-0.7v-1.9c0.7,0.4,1.5,0.6,2.4,0.8s1.6,0.3,2.4,0.3 |  | ||||||
| 			c3,0,4.4-1.2,4.4-3.5c0-2.1-1.6-3.1-4.9-3.1h-1.7v-1.7h1.7c1.3,0,2.4-0.3,3.2-0.9s1.2-1.4,1.2-2.5c0-0.8-0.3-1.5-0.9-2 |  | ||||||
| 			s-1.4-0.7-2.3-0.7c-0.8,0-1.5,0.1-2.1,0.3s-1.4,0.6-2.3,1.1l-1-1.3c0.7-0.6,1.5-1,2.4-1.3s1.9-0.5,2.9-0.5c1.7,0,3,0.4,3.9,1.1 |  | ||||||
| 			S562.5,488.9,562.5,490.2z"/> |  | ||||||
| 	</g> |  | ||||||
| </g> |  | ||||||
| <g> |  | ||||||
| 	<g> |  | ||||||
| 		<rect x="36.9" y="209.2" width="299.4" height="300.4"/> |  | ||||||
| 	</g> |  | ||||||
| 	<g> |  | ||||||
| 		<path class="st1" d="M335.7,275.9v166.8h-298V275.9H335.7 M336.7,274.9h-300v168.8h300V274.9L336.7,274.9z"/> |  | ||||||
| 	</g> |  | ||||||
| 	<g class="st0"> |  | ||||||
| 		<g> |  | ||||||
| 			<path class="st1" d="M285.7,210.3v298h-198v-298H285.7 M286.7,209.3h-200v300h200V209.3L286.7,209.3z"/> |  | ||||||
| 		</g> |  | ||||||
| 		<g> |  | ||||||
| 			<line class="st3" x1="86.7" y1="209.3" x2="286.7" y2="509.3"/> |  | ||||||
| 		</g> |  | ||||||
| 		<line class="st3" x1="286.5" y1="209.4" x2="86.5" y2="509.4"/> |  | ||||||
| 	</g> |  | ||||||
| 	<g class="st2"> |  | ||||||
| 		<g> |  | ||||||
| 			<path class="st1" d="M335.7,260.3v198h-298v-198H335.7 M336.7,259.3h-300v200h300V259.3L336.7,259.3z"/> |  | ||||||
| 		</g> |  | ||||||
| 		<line class="st3" x1="36.5" y1="459.4" x2="336.5" y2="259.4"/> |  | ||||||
| 		<line class="st3" x1="36.5" y1="259.4" x2="336.5" y2="459.4"/> |  | ||||||
| 	</g> |  | ||||||
| 	<g class="st0"> |  | ||||||
| 		<polygon class="st3" points="36.9,209.2 55.5,243.6 71.2,227.9 		"/> |  | ||||||
| 		<polygon class="st3" points="336.2,209.2 301.9,227.9 317.5,243.6 		"/> |  | ||||||
| 		<polygon class="st3" points="36.9,509.6 71.2,490.9 55.5,475.3 		"/> |  | ||||||
| 		<polygon class="st3" points="336.2,509.6 317.5,475.3 301.9,490.9 		"/> |  | ||||||
| 	</g> |  | ||||||
| 	<g class="st4"> |  | ||||||
| 		<path class="st1" d="M169.7,230.3h-2v-15.4h-5.4v-1.8h12.8v1.8h-5.4V230.3z"/> |  | ||||||
| 		<path class="st1" d="M192.6,221.7c0,2.7-0.7,4.9-2.1,6.5s-3.3,2.4-5.8,2.4c-2.5,0-4.5-0.8-5.8-2.3s-2.1-3.7-2.1-6.5 |  | ||||||
| 			c0-2.8,0.7-5,2.1-6.5s3.3-2.3,5.9-2.3c2.5,0,4.4,0.8,5.8,2.3S192.6,218.9,192.6,221.7z M178.9,221.7c0,2.3,0.5,4.1,1.5,5.3 |  | ||||||
| 			s2.4,1.8,4.3,1.8c1.9,0,3.3-0.6,4.3-1.8s1.5-3,1.5-5.3c0-2.3-0.5-4.1-1.4-5.2s-2.4-1.8-4.3-1.8c-1.9,0-3.3,0.6-4.3,1.8 |  | ||||||
| 			S178.9,219.4,178.9,221.7z"/> |  | ||||||
| 		<path class="st1" d="M207.3,218.1c0,1.7-0.6,3.1-1.8,4s-2.9,1.4-5.1,1.4h-2v6.7h-2v-17.1h4.4C205.1,213.1,207.3,214.8,207.3,218.1 |  | ||||||
| 			z M198.4,221.8h1.8c1.8,0,3-0.3,3.8-0.9s1.2-1.5,1.2-2.7c0-1.1-0.4-2-1.1-2.5s-1.9-0.8-3.5-0.8h-2.2V221.8z"/> |  | ||||||
| 	</g> |  | ||||||
| 	<line class="st3" x1="36.7" y1="274.9" x2="336.7" y2="443.6"/> |  | ||||||
| 	<line class="st3" x1="36.7" y1="443.6" x2="336.7" y2="274.9"/> |  | ||||||
| 	<g class="st4"> |  | ||||||
| 		<path class="st1" d="M166.8,503.3h-1.9v-12.2c0-1,0-2,0.1-2.9c-0.2,0.2-0.3,0.3-0.6,0.5s-1.1,0.9-2.8,2.3l-1-1.3l4.5-3.5h1.6 |  | ||||||
| 			V503.3z"/> |  | ||||||
| 		<path class="st1" d="M173.5,496c0-3.4,0.7-5.9,2-7.6s3.2-2.5,5.8-2.5c0.9,0,1.6,0.1,2.1,0.2v1.7c-0.6-0.2-1.3-0.3-2.1-0.3 |  | ||||||
| 			c-1.8,0-3.2,0.6-4.2,1.7s-1.5,2.9-1.6,5.4h0.1c0.9-1.3,2.2-2,4.1-2c1.5,0,2.8,0.5,3.6,1.4s1.3,2.2,1.3,3.8c0,1.8-0.5,3.2-1.5,4.2 |  | ||||||
| 			s-2.3,1.5-3.9,1.5c-1.8,0-3.2-0.7-4.2-2S173.5,498.4,173.5,496z M179.3,501.9c1.1,0,2-0.3,2.6-1s0.9-1.7,0.9-3 |  | ||||||
| 			c0-1.1-0.3-2-0.9-2.7s-1.4-1-2.6-1c-0.7,0-1.3,0.1-1.9,0.4s-1.1,0.7-1.4,1.2s-0.5,1-0.5,1.6c0,0.8,0.2,1.6,0.5,2.3 |  | ||||||
| 			s0.8,1.2,1.3,1.7S178.5,501.9,179.3,501.9z"/> |  | ||||||
| 		<path class="st1" d="M191,496.7l-4.5-6.3h2.2l3.4,4.9l3.4-4.9h2.2l-4.5,6.3l4.7,6.6h-2.2l-3.6-5.2l-3.6,5.2h-2.2L191,496.7z"/> |  | ||||||
| 		<path class="st1" d="M210.9,493.5c0,6.7-2.6,10.1-7.8,10.1c-0.9,0-1.6-0.1-2.2-0.2v-1.7c0.6,0.2,1.3,0.3,2.1,0.3 |  | ||||||
| 			c1.9,0,3.3-0.6,4.2-1.7s1.5-2.9,1.6-5.3h-0.1c-0.4,0.6-1,1.1-1.7,1.5s-1.5,0.5-2.4,0.5c-1.5,0-2.7-0.5-3.6-1.4s-1.3-2.2-1.3-3.8 |  | ||||||
| 			c0-1.8,0.5-3.2,1.5-4.2s2.3-1.5,3.9-1.5c1.2,0,2.2,0.3,3.1,0.9s1.5,1.5,2,2.6S210.9,491.9,210.9,493.5z M205.1,487.6 |  | ||||||
| 			c-1.1,0-2,0.4-2.6,1.1s-0.9,1.7-0.9,3c0,1.1,0.3,2,0.8,2.7s1.4,1,2.6,1c0.7,0,1.4-0.1,2-0.4s1.1-0.7,1.4-1.2s0.5-1,0.5-1.6 |  | ||||||
| 			c0-0.8-0.2-1.6-0.5-2.3s-0.8-1.2-1.3-1.6S205.8,487.6,205.1,487.6z"/> |  | ||||||
| 	</g> |  | ||||||
| </g> |  | ||||||
| <g> |  | ||||||
| </g> |  | ||||||
| <g> |  | ||||||
| </g> |  | ||||||
| <g> |  | ||||||
| </g> |  | ||||||
| <g> |  | ||||||
| </g> |  | ||||||
| <g> |  | ||||||
| </g> |  | ||||||
| <g> |  | ||||||
| </g> |  | ||||||
| <g> |  | ||||||
| </g> |  | ||||||
| <g> |  | ||||||
| </g> |  | ||||||
| <g> |  | ||||||
| </g> |  | ||||||
| <g> |  | ||||||
| </g> |  | ||||||
| <g> |  | ||||||
| </g> |  | ||||||
| <g> |  | ||||||
| </g> |  | ||||||
| <g> |  | ||||||
| </g> |  | ||||||
| <g> |  | ||||||
| </g> |  | ||||||
| <g> |  | ||||||
| </g> |  | ||||||
| </svg> |  | ||||||
| Before Width: | Height: | Size: 9.5 KiB | 
| @ -786,10 +786,14 @@ var FileSystemLoaderActions = actions.Actions({ | |||||||
| 			logger = logger || this.logger | 			logger = logger || this.logger | ||||||
| 			logger = logger && logger.push('Checking index') | 			logger = logger && logger.push('Checking index') | ||||||
| 
 | 
 | ||||||
|  | 			// no index loaded...
 | ||||||
|  | 			if(!this.location.loaded){ | ||||||
|  | 				logger.emit('no index to fix.') | ||||||
|  | 				return Promise.resolve([]) } | ||||||
|  | 
 | ||||||
| 			// XXX can we remove this restriction...
 | 			// XXX can we remove this restriction...
 | ||||||
| 			if(this.location.loaded.length != 1){ | 			if(this.location.loaded.length > 1){ | ||||||
| 				throw new Error('.fixIndex(): combined indexes not supported.') | 				throw new Error('.fixIndex(): combined indexes not supported.') } | ||||||
| 			} |  | ||||||
| 
 | 
 | ||||||
| 			logger  | 			logger  | ||||||
| 				&& this.images | 				&& this.images | ||||||
| @ -803,9 +807,7 @@ var FileSystemLoaderActions = actions.Actions({ | |||||||
| 			return this.images | 			return this.images | ||||||
| 				.map(function(gid, image){  | 				.map(function(gid, image){  | ||||||
| 					return [gid, image] }) | 					return [gid, image] }) | ||||||
| 				.mapChunks(chunk_size, function(e){ | 				.mapChunks(chunk_size, function([gid, image]){ | ||||||
| 					var gid = e[0] |  | ||||||
| 					var image = e[1] |  | ||||||
| 					var updated = false | 					var updated = false | ||||||
| 
 | 
 | ||||||
| 					var previews = image.preview || {} | 					var previews = image.preview || {} | ||||||
| @ -826,6 +828,57 @@ var FileSystemLoaderActions = actions.Actions({ | |||||||
| 				.then(function(res){ | 				.then(function(res){ | ||||||
| 					return res.flat() }) | 					return res.flat() }) | ||||||
| 		}], | 		}], | ||||||
|  | 
 | ||||||
|  | 	// XXX not yet sure about this...
 | ||||||
|  | 	removeMissingImages: ['File/Remove missing images from index', | ||||||
|  | 		core.doc`Remove missing images from index
 | ||||||
|  | 		 | ||||||
|  | 		This will remove images that are not found via their original  | ||||||
|  | 		path/name from the index. | ||||||
|  | 
 | ||||||
|  | 		NOTE: no actual data is removed. | ||||||
|  | 		NOTE: this will not remove generated previews from index. | ||||||
|  | 		`,
 | ||||||
|  | 		function(logger){ | ||||||
|  | 			var that = this | ||||||
|  | 			logger = logger || this.logger | ||||||
|  | 			rem_logger = logger && logger.push('Remove missing') | ||||||
|  | 			logger = logger && logger.push('Check missing') | ||||||
|  | 
 | ||||||
|  | 			logger  | ||||||
|  | 				&& this.images | ||||||
|  | 					.forEach(function(gid){  | ||||||
|  | 						logger.emit('queued', gid)}) | ||||||
|  | 
 | ||||||
|  | 			var chunk_size = '100C' | ||||||
|  | 
 | ||||||
|  | 			return this.images | ||||||
|  | 				.map(function(gid, image){  | ||||||
|  | 					return [gid, image] }) | ||||||
|  | 				.mapChunks(chunk_size, function([gid, image]){ | ||||||
|  | 					var updated = false | ||||||
|  | 
 | ||||||
|  | 					image.path  | ||||||
|  | 						&& !fse.existsSync(image.base_path +'/'+ image.path) | ||||||
|  | 						&& (updated = true) | ||||||
|  | 						&& logger && rem_logger.emit('queued', gid) | ||||||
|  | 
 | ||||||
|  | 					logger && logger.emit('done', gid) | ||||||
|  | 
 | ||||||
|  | 					return updated ? gid : [] | ||||||
|  | 				}) | ||||||
|  | 				.then(function(res){ | ||||||
|  | 					res = res.flat() | ||||||
|  | 					if(res.length > 0){ | ||||||
|  | 						logger && rem_logger.emit('queued', 'data cleanup') | ||||||
|  | 						// clear images...
 | ||||||
|  | 						res.forEach(function(gid){ | ||||||
|  | 							delete that.images[gid] | ||||||
|  | 							logger && rem_logger.emit('done', gid) }) | ||||||
|  | 						// clear data...
 | ||||||
|  | 						that.data.clear(res) | ||||||
|  | 						logger && rem_logger.emit('done', 'data cleanup') } | ||||||
|  | 					return res }) }], | ||||||
| }) | }) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -888,6 +941,15 @@ module.FileSystemLoader = core.ImageGridFeatures.Feature({ | |||||||
| 				res.then(function(gids){ | 				res.then(function(gids){ | ||||||
| 					gids.length > 0 | 					gids.length > 0 | ||||||
| 						&& that.markChanged('images', gids) }) }], | 						&& that.markChanged('images', gids) }) }], | ||||||
|  | 		['removeMissingImages', | ||||||
|  | 			function(res){ | ||||||
|  | 				var that = this | ||||||
|  | 				res.then(function(gids){ | ||||||
|  | 					gids.length > 0 | ||||||
|  | 						&& that | ||||||
|  | 							.markChanged('data') | ||||||
|  | 							.markChanged('images')  | ||||||
|  | 							.reload(true) }) }], | ||||||
| 	], | 	], | ||||||
| }) | }) | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -302,10 +302,10 @@ var MetadataUIActions = actions.Actions({ | |||||||
| 
 | 
 | ||||||
| 		'metadata-auto-select-modes': [ | 		'metadata-auto-select-modes': [ | ||||||
| 			'none', | 			'none', | ||||||
| 			'on select', | 			'on focus', | ||||||
| 			'on open', | 			'on open', | ||||||
| 		], | 		], | ||||||
| 		'metadata-auto-select-mode': 'on select', | 		'metadata-auto-select-mode': 'on focus', | ||||||
| 
 | 
 | ||||||
| 		// XXX
 | 		// XXX
 | ||||||
| 		'metadata-editable-fields': [ | 		'metadata-editable-fields': [ | ||||||
| @ -347,12 +347,13 @@ var MetadataUIActions = actions.Actions({ | |||||||
| 		}, | 		}, | ||||||
| 	}, | 	}, | ||||||
| 
 | 
 | ||||||
| 	toggleMetadataAutoSelect: ['Interface/Metadata value auto-select', | 	toggleMetadataAutoSelect: ['Interface/Metadata value select', | ||||||
| 		core.makeConfigToggler('metadata-auto-select-mode',  | 		core.makeConfigToggler('metadata-auto-select-mode',  | ||||||
| 			function(){ return this.config['metadata-auto-select-modes'] })], | 			function(){ return this.config['metadata-auto-select-modes'] })], | ||||||
| 
 | 
 | ||||||
| 	toggleMetadataGraph: ['Interface/Metadata graph display', | 	toggleMetadataGraph: ['Interface/Metadata graph display', | ||||||
| 		{ browseMode: function(){ return !graph && 'hidden' }, }, | 		{ browseMode: function(){ | ||||||
|  | 			return (!graph || this.config['browse-advanced-mode'] != 'on') && 'hidden' }}, | ||||||
| 		core.makeConfigToggler('metadata-graph', ['on', 'off'])], | 		core.makeConfigToggler('metadata-graph', ['on', 'off'])], | ||||||
| 
 | 
 | ||||||
| 	// NOTE: this will extend the Browse object with .updateMetadata(..)
 | 	// NOTE: this will extend the Browse object with .updateMetadata(..)
 | ||||||
| @ -570,7 +571,7 @@ var MetadataUIActions = actions.Actions({ | |||||||
| 				}) | 				}) | ||||||
| 				// select value of current item...
 | 				// select value of current item...
 | ||||||
| 				.on('select', function(evt, elem){ | 				.on('select', function(evt, elem){ | ||||||
| 					that.config['metadata-auto-select-mode'] == 'on select' | 					that.config['metadata-auto-select-mode'] == 'on focus' | ||||||
| 						&& $(elem).find('.text').last().selectText() }) | 						&& $(elem).find('.text').last().selectText() }) | ||||||
| 				.close(function(){ | 				.close(function(){ | ||||||
| 					// XXX handle comment and tag changes...
 | 					// XXX handle comment and tag changes...
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user