From: Alan Date: Fri, 2 Sep 2022 05:27:59 +0000 (+0800) Subject: Fix #7378 - search bar in files brower X-Git-Tag: release-4.4.2~4 X-Git-Url: http://git.roojs.org/?p=roobuilder;a=commitdiff_plain;h=4f47de97e088716ae3880bfb47a6883115e618ac Fix #7378 - search bar in files brower --- diff --git a/debian/autoreconf.after b/debian/autoreconf.after index 7d005a2aa..bb14d4e63 100644 --- a/debian/autoreconf.after +++ b/debian/autoreconf.after @@ -7,7 +7,7 @@ b090c5891571c820e91d345a9551af44 ./install-sh d41d8cd98f00b204e9800998ecf8427e ./ChangeLog dc2a3bd2e90ea29308069119e150d84c ./src/c/jscore_object_call_as_function.c 507133162a3bb04e243df355eca871c7 ./src/Main.vala -c5b44ecef56c7463a019088887730f41 ./src/Builder4/WindowRooView.bjs +e87201d0bd9587948dbd498d48c7007b ./src/Builder4/WindowRooView.bjs 04a4d3c80cdb0c117c1e2113768cb554 ./src/Builder4/DialogTemplateSelect.bjs 2cdf0a260f64ef0b6d3d74e9423db91f ./src/Builder4/ProjectSettings.bjs 254a8daff9072d59e32f03113d02e429 ./src/Builder4/DialogTemplateSelect.vala @@ -21,31 +21,31 @@ edc8430ca864508d07046aa44624ab22 ./src/Builder4/ProjectSettings.c 21537c6d1b7ae18e5b893f5720f4f428 ./src/Builder4/ValaCompileErrors.bjs 82457c9080d838675a3f463ad406edcd ./src/Builder4/WindowAddProp.c 983a196b2f390858626a6ecc04366ebc ./src/Builder4/ValaCompileResults.bjs -3bafb0c640c225e198969d6feb2d30ba ./src/Builder4/WindowLeftTree.bjs +9f300aeb37b41d5c8d581d7bbdc8a2a1 ./src/Builder4/WindowLeftTree.bjs 4b3ca347619a75423add229246d6934b ./src/Builder4/ValaProjectSettings.c -33dfb40081e08b8ccc4e8e367170ac7b ./src/Builder4/GtkView.bjs +c3d76b91ed4cb8c862cd926785d5a5ea ./src/Builder4/GtkView.bjs 1f8a135ee916234e6e10a92b6fefbbae ./src/Builder4/DialogSaveTemplate.bjs 01f94aae4ea0d5d9b6b56f34fa5f79f4 ./src/Builder4/DialogConfirm.vala a2d0fafef3cfb748e2643edce607e3d6 ./src/Builder4/PopoverProperty.vala -ccada5ef4cce7f6634a86d7d31460d2a ./src/Builder4/MainWindow.vala -3aca1c873e3b299c6c9d65ade9233008 ./src/Builder4/Editor.bjs +0ed81e8c4f34a4e2e5f58f89d2beffd3 ./src/Builder4/MainWindow.vala +997734dc2ed398d316a7938679aa3582 ./src/Builder4/Editor.bjs cc34dea3283bdac2fae049d6ed914558 ./src/Builder4/PopoverAddObject.vala -832753c78c58dd0e9d02e8a1734d5f26 ./src/Builder4/PopoverFileDetails.bjs +e3a9d58333f16ddd814453aaa0307206 ./src/Builder4/PopoverFileDetails.bjs 2c88309ca76acee7958c4dad9d1785c9 ./src/Builder4/ValaProjectSettings.vala 73e9fe55f20537ccac914d4364bed4eb ./src/Builder4/PopoverAddObject.bjs b0b017c153127530146f16d8cf6c1da9 ./src/Builder4/FakeServer.vala 4b58d99802d7ec3c1f3c8248b555aca5 ./src/Builder4/WindowRightPalete.c -ed31c3ddc41888a821ae4137d3b04ea0 ./src/Builder4/Editor.vala +d8e1159947c78a43cdb9e0e2bb025c9b ./src/Builder4/Editor.vala 767892b464f64dfd14a5f1c2a05908c3 ./src/Builder4/DialogSaveModule.vala 4d9947a7bc386bf8964465369d590997 ./src/Builder4/GladeuiView.c 1bae7d19f03e623a181854c282f8274e ./src/Builder4/PopoverFiles.bjs 69840a0e89d8affd86a96e21c94bf783 ./src/Builder4/WindowRightPalete.bjs 828a3fb4d6d8cf0ab3de96ebe8a8856c ./src/Builder4/EditProject.vala -6baee9619352c571f099ee34b65b1afe ./src/Builder4/WindowRooView.vala +93b9179b24fdbf6147d4fda8d656f6ec ./src/Builder4/WindowRooView.vala bd95ff872bc3552a40b0a3205ae9d85e ./src/Builder4/WindowLeftProjects.bjs 6278ccc0f64f5c2757895aacda602251 ./src/Builder4/CompileState.vala b820b28e73a88990451a207bb5a71d46 ./src/Builder4/GladeuiView.vala -680fdbd8a8daa24b0283bebcebc697f8 ./src/Builder4/WindowState.vala +aa9a7045966bc42dee4f4ff983a18326 ./src/Builder4/WindowState.vala 1e9b152618fa18adcc4d9231764ae7a4 ./src/Builder4/.deps/PopoverEditor.Po a186c7efef54e7e96f2b4488bc63ca49 ./src/Builder4/.deps/ClutterFiles.Po dad0227408777290e6c56afc03cf6e12 ./src/Builder4/.deps/WindowRightPalete.Po @@ -54,12 +54,12 @@ dad0227408777290e6c56afc03cf6e12 ./src/Builder4/.deps/WindowLeftProjects.Po 3240de25cec411f70a664d60a863a5bf ./src/Builder4/.deps/ValaProjectSettings.Po eac560ca8d937023d780ae709733ee95 ./src/Builder4/.deps/ProjectSettings.Po 037af1aa13ae4ac7a33522b32713e2a5 ./src/Builder4/ValaCompileResults.vala -b4ef19eba6bf0ad81db687f350ed0b1e ./src/Builder4/About.bjs +3e3d00bd0e80200a0cc6fc13fa21db98 ./src/Builder4/About.bjs 9f22d2c6d4ac12e071bed5503e4da569 ./src/Builder4/DialogSaveTemplate.vala b6cd6ab7659c7b11f49577cd611d3752 ./src/Builder4/ValaProjectSettings.bjs 0fc9ff3b75b4d5d382666b311ea9df13 ./src/Builder4/WindowAddProp.bjs 1a56b326a5c38838d23c76f639970fff ./src/Builder4/PopoverEditor.vala -dbbe4ac728ab0d96dd578697f909dc5b ./src/Builder4/PopoverFileDetails.vala +bc9847c0691a3484ef8410689138b2ef ./src/Builder4/PopoverFileDetails.vala 7685b80a99bee07abefa79a88ccd0f52 ./src/Builder4/GladeView.bjs 7f8ea7da528f85ca83d33075dc5ced8b ./src/Builder4/PopoverProperty.bjs 7c9d022989780c6bdcbf75606a15b0e3 ./src/Builder4/PopoverAddProp.vala @@ -68,21 +68,21 @@ dc7e9528040b3bb485f1e9f69df9b5a6 ./src/Builder4/ClutterFiles.c 4bfb083983d5e2d3b0b0ec63c2484dc3 ./src/Builder4/WindowLeftProps.vala 44a1921066534c10a2aac94e63e1dd1a ./src/Builder4/WindowRightPalete.vala 93a33b5be53d1eeb3a1017a9c00fbce1 ./src/Builder4/GladeView.vala -4c67603332b58d27df89a19bb7a0e0ae ./src/Builder4/About.vala +100836f321642dcad9f88a7de26f8b50 ./src/Builder4/About.vala cd39567c86afd25c6b982e47d4a4850f ./src/Builder4/ClutterFiles.vala fb71cc9a6b22c171ea2034fdcf15aa94 ./src/Builder4/WindowAddProp.vala e48faad93a150ef9bdac43a28013e533 ./src/Builder4/MainWindow.bjs 01ffdd10cc2468f9aebec7db10b4a701 ./src/Builder4/PopoverFiles.vala f4ec7a0f8b6f790edd68c023122f9ce2 ./src/Builder4/EditProject.bjs 4f5829d74221ec5a5df9397aed6f0304 ./src/Builder4/WindowLeftProps.bjs -a86ac3ede284ff7d13b160f77345fd2f ./src/Builder4/GtkView.vala -0337e74ec93ecb3fca0b7c5cecb3448f ./src/Builder4/WindowLeftTree.vala +a8893cf5fe985682525a3824da264bb6 ./src/Builder4/GtkView.vala +d5096476d8dbad146ee469f72ce629c6 ./src/Builder4/WindowLeftTree.vala 05bcd8817a6e30e5902c651e026e9485 ./src/Builder4/GladeExtras.vala 85e68f1537240b36dd2cbf8513801e74 ./src/Builder4/DialogConfirm.bjs eb5e1a9fab30258c61897d857c9b2c59 ./src/Builder4/ValaCompileErrors.vala a22345210449293c071a6dcb79a78e29 ./src/Builder4/StandardErrorDialog.bjs 8e05d199a2374561069931c9ed6a72a8 ./src/Builder4/ValaProjectSettingsPopover.bjs -ef7ead26e0b631a4f88ee511088d6548 ./src/Builder4/config1.builder +1f43d5c06ab1d798504a94838e49311d ./src/Builder4/config1.builder a2ffc54722c828aa87c1aa191b9b4b38 ./src/Builder4/DialogNewComponent.vala a33c701665a3fed3395a7e758d0dae65 ./src/Builder4/DialogNewComponent.bjs 1b7c952469f16493f2c25487febc3da7 ./src/Builder4/PopoverEditor.c @@ -102,7 +102,7 @@ ea0059f1957b5e6b17ca448dad6191c6 ./src/Palete/RooDatabase.vala 291fb5ae3d349080e6f4d45e5e81a0f5 ./src/Palete/Gir.vala b0aed743a03ab341c9ea05c0f6aa2a07 ./src/Palete/Flutter.c 84cd93b853d85de68db59bbdbd9b03ff ./src/Palete/.deps/Flutter.Po -d03cb8ecf323e18c13f1f8f55eff982d ./src/Palete/Gtk.vala +2c955e92d7f22292976da06ea0416ddb ./src/Palete/Gtk.vala a9b62365039509a22b791917e7a6b8ec ./src/Palete/Palete.vala 094a17ad6d135983c84ea91a4811354e ./src/Palete/GirFile.vala 13c50ca482e3cb9a327bb9d6ef2486d4 ./src/Palete/GirObject.vala @@ -150,7 +150,7 @@ a22636071c0355ac2b539c56478ba333 ./src/codegen/valaccodecontrolflowmodule.vala 744032ee219e0eb4970a36bcd7d03d34 ./src/Resources.vala 3463fa4065b0a0e0d4e1a10a7337ad79 ./src/JsRender/Flutter.vala c13e885cb9c5d005596d16fba3c47fa8 ./src/JsRender/Lang.vala -700a87f22fea5115851068db385d2dce ./src/JsRender/NodeToVala.vala +5b7d7361256f9d46a6940d512a528c0e ./src/JsRender/NodeToVala.vala 4e36762a259bc0458bcb2b754fe0f619 ./src/JsRender/NodeToGlade.vala cca8742ee92c401d1d773f69cec0310d ./src/JsRender/Flutter.c 3e2ca7b4ace7de207443c8dfd2b4c3bc ./src/JsRender/.deps/Flutter.Po @@ -237,7 +237,7 @@ d743438c4e4b765b7ce4b7e1c98b3b31 ./config.h.in~ 9580a33f9516167b4a1a72fe4fee31ae ./.gitignore 737061c1c974f84326be8b9281180af9 ./README.md 959bffe2993816eb32ec4bc1ec1d5875 ./LICENSE -95067042d7db431f02b3654283d53dbd ./autom4te.cache/requests +7181ace6690fded50a7292d5bed1ac6e ./autom4te.cache/requests 4ab5d64b369bac36c4c5ea81ef5e82f1 ./autom4te.cache/traces.2 4ab5d64b369bac36c4c5ea81ef5e82f1 ./autom4te.cache/traces.1 35d73aa64bd0b12a1f9172b40e9f62b2 ./autom4te.cache/output.1 diff --git a/debian/autoreconf.before b/debian/autoreconf.before index 475cdc7e6..12b154c45 100644 --- a/debian/autoreconf.before +++ b/debian/autoreconf.before @@ -5,7 +5,7 @@ b991e5e96350ca96b2495eb33a13ceb9 ./README d41d8cd98f00b204e9800998ecf8427e ./ChangeLog dc2a3bd2e90ea29308069119e150d84c ./src/c/jscore_object_call_as_function.c 507133162a3bb04e243df355eca871c7 ./src/Main.vala -c5b44ecef56c7463a019088887730f41 ./src/Builder4/WindowRooView.bjs +e87201d0bd9587948dbd498d48c7007b ./src/Builder4/WindowRooView.bjs 04a4d3c80cdb0c117c1e2113768cb554 ./src/Builder4/DialogTemplateSelect.bjs 2cdf0a260f64ef0b6d3d74e9423db91f ./src/Builder4/ProjectSettings.bjs 254a8daff9072d59e32f03113d02e429 ./src/Builder4/DialogTemplateSelect.vala @@ -19,31 +19,31 @@ edc8430ca864508d07046aa44624ab22 ./src/Builder4/ProjectSettings.c 21537c6d1b7ae18e5b893f5720f4f428 ./src/Builder4/ValaCompileErrors.bjs 82457c9080d838675a3f463ad406edcd ./src/Builder4/WindowAddProp.c 983a196b2f390858626a6ecc04366ebc ./src/Builder4/ValaCompileResults.bjs -3bafb0c640c225e198969d6feb2d30ba ./src/Builder4/WindowLeftTree.bjs +9f300aeb37b41d5c8d581d7bbdc8a2a1 ./src/Builder4/WindowLeftTree.bjs 4b3ca347619a75423add229246d6934b ./src/Builder4/ValaProjectSettings.c -33dfb40081e08b8ccc4e8e367170ac7b ./src/Builder4/GtkView.bjs +c3d76b91ed4cb8c862cd926785d5a5ea ./src/Builder4/GtkView.bjs 1f8a135ee916234e6e10a92b6fefbbae ./src/Builder4/DialogSaveTemplate.bjs 01f94aae4ea0d5d9b6b56f34fa5f79f4 ./src/Builder4/DialogConfirm.vala a2d0fafef3cfb748e2643edce607e3d6 ./src/Builder4/PopoverProperty.vala -ccada5ef4cce7f6634a86d7d31460d2a ./src/Builder4/MainWindow.vala -3aca1c873e3b299c6c9d65ade9233008 ./src/Builder4/Editor.bjs +0ed81e8c4f34a4e2e5f58f89d2beffd3 ./src/Builder4/MainWindow.vala +997734dc2ed398d316a7938679aa3582 ./src/Builder4/Editor.bjs cc34dea3283bdac2fae049d6ed914558 ./src/Builder4/PopoverAddObject.vala -832753c78c58dd0e9d02e8a1734d5f26 ./src/Builder4/PopoverFileDetails.bjs +e3a9d58333f16ddd814453aaa0307206 ./src/Builder4/PopoverFileDetails.bjs 2c88309ca76acee7958c4dad9d1785c9 ./src/Builder4/ValaProjectSettings.vala 73e9fe55f20537ccac914d4364bed4eb ./src/Builder4/PopoverAddObject.bjs b0b017c153127530146f16d8cf6c1da9 ./src/Builder4/FakeServer.vala 4b58d99802d7ec3c1f3c8248b555aca5 ./src/Builder4/WindowRightPalete.c -ed31c3ddc41888a821ae4137d3b04ea0 ./src/Builder4/Editor.vala +d8e1159947c78a43cdb9e0e2bb025c9b ./src/Builder4/Editor.vala 767892b464f64dfd14a5f1c2a05908c3 ./src/Builder4/DialogSaveModule.vala 4d9947a7bc386bf8964465369d590997 ./src/Builder4/GladeuiView.c 1bae7d19f03e623a181854c282f8274e ./src/Builder4/PopoverFiles.bjs 69840a0e89d8affd86a96e21c94bf783 ./src/Builder4/WindowRightPalete.bjs 828a3fb4d6d8cf0ab3de96ebe8a8856c ./src/Builder4/EditProject.vala -6baee9619352c571f099ee34b65b1afe ./src/Builder4/WindowRooView.vala +93b9179b24fdbf6147d4fda8d656f6ec ./src/Builder4/WindowRooView.vala bd95ff872bc3552a40b0a3205ae9d85e ./src/Builder4/WindowLeftProjects.bjs 6278ccc0f64f5c2757895aacda602251 ./src/Builder4/CompileState.vala b820b28e73a88990451a207bb5a71d46 ./src/Builder4/GladeuiView.vala -680fdbd8a8daa24b0283bebcebc697f8 ./src/Builder4/WindowState.vala +aa9a7045966bc42dee4f4ff983a18326 ./src/Builder4/WindowState.vala 1e9b152618fa18adcc4d9231764ae7a4 ./src/Builder4/.deps/PopoverEditor.Po a186c7efef54e7e96f2b4488bc63ca49 ./src/Builder4/.deps/ClutterFiles.Po dad0227408777290e6c56afc03cf6e12 ./src/Builder4/.deps/WindowRightPalete.Po @@ -52,12 +52,12 @@ dad0227408777290e6c56afc03cf6e12 ./src/Builder4/.deps/WindowLeftProjects.Po 3240de25cec411f70a664d60a863a5bf ./src/Builder4/.deps/ValaProjectSettings.Po eac560ca8d937023d780ae709733ee95 ./src/Builder4/.deps/ProjectSettings.Po 037af1aa13ae4ac7a33522b32713e2a5 ./src/Builder4/ValaCompileResults.vala -b4ef19eba6bf0ad81db687f350ed0b1e ./src/Builder4/About.bjs +3e3d00bd0e80200a0cc6fc13fa21db98 ./src/Builder4/About.bjs 9f22d2c6d4ac12e071bed5503e4da569 ./src/Builder4/DialogSaveTemplate.vala b6cd6ab7659c7b11f49577cd611d3752 ./src/Builder4/ValaProjectSettings.bjs 0fc9ff3b75b4d5d382666b311ea9df13 ./src/Builder4/WindowAddProp.bjs 1a56b326a5c38838d23c76f639970fff ./src/Builder4/PopoverEditor.vala -dbbe4ac728ab0d96dd578697f909dc5b ./src/Builder4/PopoverFileDetails.vala +bc9847c0691a3484ef8410689138b2ef ./src/Builder4/PopoverFileDetails.vala 7685b80a99bee07abefa79a88ccd0f52 ./src/Builder4/GladeView.bjs 7f8ea7da528f85ca83d33075dc5ced8b ./src/Builder4/PopoverProperty.bjs 7c9d022989780c6bdcbf75606a15b0e3 ./src/Builder4/PopoverAddProp.vala @@ -66,21 +66,21 @@ dc7e9528040b3bb485f1e9f69df9b5a6 ./src/Builder4/ClutterFiles.c 4bfb083983d5e2d3b0b0ec63c2484dc3 ./src/Builder4/WindowLeftProps.vala 44a1921066534c10a2aac94e63e1dd1a ./src/Builder4/WindowRightPalete.vala 93a33b5be53d1eeb3a1017a9c00fbce1 ./src/Builder4/GladeView.vala -4c67603332b58d27df89a19bb7a0e0ae ./src/Builder4/About.vala +100836f321642dcad9f88a7de26f8b50 ./src/Builder4/About.vala cd39567c86afd25c6b982e47d4a4850f ./src/Builder4/ClutterFiles.vala fb71cc9a6b22c171ea2034fdcf15aa94 ./src/Builder4/WindowAddProp.vala e48faad93a150ef9bdac43a28013e533 ./src/Builder4/MainWindow.bjs 01ffdd10cc2468f9aebec7db10b4a701 ./src/Builder4/PopoverFiles.vala f4ec7a0f8b6f790edd68c023122f9ce2 ./src/Builder4/EditProject.bjs 4f5829d74221ec5a5df9397aed6f0304 ./src/Builder4/WindowLeftProps.bjs -a86ac3ede284ff7d13b160f77345fd2f ./src/Builder4/GtkView.vala -0337e74ec93ecb3fca0b7c5cecb3448f ./src/Builder4/WindowLeftTree.vala +a8893cf5fe985682525a3824da264bb6 ./src/Builder4/GtkView.vala +d5096476d8dbad146ee469f72ce629c6 ./src/Builder4/WindowLeftTree.vala 05bcd8817a6e30e5902c651e026e9485 ./src/Builder4/GladeExtras.vala 85e68f1537240b36dd2cbf8513801e74 ./src/Builder4/DialogConfirm.bjs eb5e1a9fab30258c61897d857c9b2c59 ./src/Builder4/ValaCompileErrors.vala a22345210449293c071a6dcb79a78e29 ./src/Builder4/StandardErrorDialog.bjs 8e05d199a2374561069931c9ed6a72a8 ./src/Builder4/ValaProjectSettingsPopover.bjs -ef7ead26e0b631a4f88ee511088d6548 ./src/Builder4/config1.builder +1f43d5c06ab1d798504a94838e49311d ./src/Builder4/config1.builder a2ffc54722c828aa87c1aa191b9b4b38 ./src/Builder4/DialogNewComponent.vala a33c701665a3fed3395a7e758d0dae65 ./src/Builder4/DialogNewComponent.bjs 1b7c952469f16493f2c25487febc3da7 ./src/Builder4/PopoverEditor.c @@ -100,7 +100,7 @@ ea0059f1957b5e6b17ca448dad6191c6 ./src/Palete/RooDatabase.vala 291fb5ae3d349080e6f4d45e5e81a0f5 ./src/Palete/Gir.vala b0aed743a03ab341c9ea05c0f6aa2a07 ./src/Palete/Flutter.c 84cd93b853d85de68db59bbdbd9b03ff ./src/Palete/.deps/Flutter.Po -d03cb8ecf323e18c13f1f8f55eff982d ./src/Palete/Gtk.vala +2c955e92d7f22292976da06ea0416ddb ./src/Palete/Gtk.vala a9b62365039509a22b791917e7a6b8ec ./src/Palete/Palete.vala 094a17ad6d135983c84ea91a4811354e ./src/Palete/GirFile.vala 13c50ca482e3cb9a327bb9d6ef2486d4 ./src/Palete/GirObject.vala @@ -148,7 +148,7 @@ a22636071c0355ac2b539c56478ba333 ./src/codegen/valaccodecontrolflowmodule.vala 744032ee219e0eb4970a36bcd7d03d34 ./src/Resources.vala 3463fa4065b0a0e0d4e1a10a7337ad79 ./src/JsRender/Flutter.vala c13e885cb9c5d005596d16fba3c47fa8 ./src/JsRender/Lang.vala -700a87f22fea5115851068db385d2dce ./src/JsRender/NodeToVala.vala +5b7d7361256f9d46a6940d512a528c0e ./src/JsRender/NodeToVala.vala 4e36762a259bc0458bcb2b754fe0f619 ./src/JsRender/NodeToGlade.vala cca8742ee92c401d1d773f69cec0310d ./src/JsRender/Flutter.c 3e2ca7b4ace7de207443c8dfd2b4c3bc ./src/JsRender/.deps/Flutter.Po diff --git a/debian/changelog b/debian/changelog index b7a439eec..3eda9d050 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,16 @@ +roobuilder (4.4.1) UNRELEASED; urgency=medium + + * fix issue with old js files using user defined properties + * Project properties now shows full path + * Project properties tidy up + * goto line now works better (from errors) + * clicking code view opens up correct node and shows properties. + * segfault on invalid properties fixed. + * add icon only shown on nodes that accept children + * Gtk.MenuItem and children auto have .show() added to code + + -- Alan < Wed, 31 Aug 2022 17:22:23 +0800 + roobuilder (4.4.0) unstable; urgency=medium * slightly better search boxes diff --git a/debian/files b/debian/files index 0dbea8c24..58cae1ec3 100644 --- a/debian/files +++ b/debian/files @@ -1,3 +1,3 @@ -roobuilder-dbgsym_4.4.0_amd64.ddeb debug optional automatic=yes -roobuilder_4.4.0_amd64.buildinfo unknown optional -roobuilder_4.4.0_amd64.deb unknown optional +roobuilder-dbgsym_4.4.1_amd64.ddeb debug optional automatic=yes +roobuilder_4.4.1_amd64.buildinfo unknown optional +roobuilder_4.4.1_amd64.deb unknown optional diff --git a/src/Builder4/ClutterFiles.bjs b/src/Builder4/ClutterFiles.bjs deleted file mode 100644 index bfea38aff..000000000 --- a/src/Builder4/ClutterFiles.bjs +++ /dev/null @@ -1,519 +0,0 @@ -{ - "build_module" : "builder", - "items" : [ - { - "# Gdk.Pixbuf missing_thumb_pixbuf" : "null", - "# Gee.ArrayList fileitems" : "new Gee.ArrayList()", - "$ xns" : "Clutter", - "@ void open" : "(JsRender.JsRender file)", - "Clutter.ScrollMode scroll_mode" : "Clutter.ScrollMode.VERTICALLY", - "Project.Project project" : "", - "bool reactive" : true, - "id" : "ClutterFiles", - "items" : [ - { - "$ reactive" : true, - "$ xns" : "Clutter", - "* init" : [ - "", - "this.el.add_constraint(", - " new Clutter.BindConstraint(_this.el,Clutter.BindCoordinate.SIZE, 0.0f)", - ");", - "this.el.set_position(0,0);", - " " - ], - "* pack" : "add_child", - "id" : "project_title", - "items" : [ - { - "$ orientation" : "Clutter.FlowOrientation.HORIZONTAL", - "$ xns" : "Clutter", - "* prop" : "layout_manager", - "boolean homogeneous" : false, - "column_spacing" : 20, - "id" : "project_title_manager", - "row_spacing" : 5, - "xtype" : "FlowLayout" - }, - { - "$ xns" : "Clutter", - "* prop" : "layout_manager", - "xtype" : "FixedLayout" - }, - { - "$ xns" : "Clutter", - "* ctor" : "new Clutter.Text.full(\"Sans 20px\", \"\", Clutter.Color.from_string(\"#eee\"))", - "* pack" : "add_child", - "boolean x_expand" : false, - "float x" : "0.0f", - "float y" : "10.0f", - "id" : "project_title_name", - "xtype" : "Text" - }, - { - "$ xns" : "Clutter", - "* ctor" : "new Clutter.Text.full(\"Sans 10px\", \"\", Clutter.Color.from_string(\"#ccc\"))", - "* pack" : "add_child", - "float x" : "0.0f", - "float y" : "35.0f", - "id" : "project_title_path", - "xtype" : "Text" - } - ], - "xtype" : "Actor" - }, - { - "# Gdk.Pixbuf missing_thumb_pixbuf" : "null", - "# Gee.ArrayList fileitems" : "new Gee.ArrayList()", - "$ xns" : "Clutter", - "* pack" : "add_child", - "Clutter.ScrollMode scroll_mode" : "Clutter.ScrollMode.VERTICALLY", - "bool reactive" : true, - "id" : "scroller", - "items" : [ - { - "$ reactive" : true, - "$ xns" : "Clutter", - "* init" : [ - "", - "this.el.add_constraint(", - " new Clutter.BindConstraint(_this.el,Clutter.BindCoordinate.SIZE, 0.0f)", - ");", - "", - " " - ], - "* pack" : "add_child", - "id" : "filelayout", - "items" : [ - { - "$ orientation" : "Clutter.FlowOrientation.HORIZONTAL", - "$ xns" : "Clutter", - "* prop" : "layout_manager", - "bool homogeneous" : false, - "column_spacing" : 20, - "float max_column_width" : "100.0f", - "id" : "filelayout_manager", - "row_spacing" : 20, - "xtype" : "FlowLayout" - }, - { - "# JsRender.JsRender file" : "", - "$ reactive" : true, - "$ xns" : "Clutter", - "* args" : "JsRender.JsRender file", - "* init" : [ - "this.file = file;", - "this.el.set_size(100,100);" - ], - "* pack" : true, - "id" : "*fileitem", - "items" : [ - { - "$ xns" : "Clutter", - "* prop" : "layout_manager", - "orientation" : "Clutter.Orientation.VERTICAL", - "spacing" : 4, - "xtype" : "BoxLayout" - }, - { - "$ margin_left" : 5, - "$ margin_right" : 5, - "$ margin_top" : 5, - "$ x_align" : "Clutter.ActorAlign.START", - "$ xns" : "Clutter", - "$ y_align" : "Clutter.ActorAlign.START", - "* args" : "JsRender.JsRender file", - "* init" : [ - "{", - " Gdk.Pixbuf pixbuf= null;", - " ", - " var fname = file.getIconFileName(false);", - "", - " try {", - " if (FileUtils.test(fname, FileTest.EXISTS)) {", - " pixbuf = new Gdk.Pixbuf.from_file(fname);", - " } ", - " } catch (Error e) {", - " // noop", - " ", - " }", - " if (pixbuf == null) {", - " ", - " try {", - " if (_this.missing_thumb_pixbuf == null) {", - " var icon_theme = Gtk.IconTheme.get_default ();", - " _this.missing_thumb_pixbuf = icon_theme.load_icon (\"package-x-generic\", 92, 0);", - " _this.missing_thumb_pixbuf.ref();", - " }", - " pixbuf = _this.missing_thumb_pixbuf;", - "", - " } catch (Error e) {", - " // noop?", - " }", - " }", - " try {", - " var img = new Clutter.Image();", - " img.set_data(pixbuf.get_pixels(), ", - " pixbuf.has_alpha ", - " ? Cogl.PixelFormat.RGBA_8888", - " : Cogl.PixelFormat.RGB_888,", - " pixbuf.get_width (),", - " pixbuf.get_height (),", - " pixbuf.get_rowstride ()", - " );", - " this.el.set_content(img);", - " } catch (Error e) {", - " // noop?", - " }", - " // should probably do smarter scaling...", - " ", - " ", - " this.el.set_size(90, 70);", - "}", - "" - ], - "* pack" : "add_child", - "bool x_expand" : false, - "bool y_expand" : false, - "id" : "+image", - "xtype" : "Actor" - }, - { - "$ x_align" : "Clutter.ActorAlign.START", - "$ xns" : "Clutter", - "$ y_align" : "Clutter.ActorAlign.START", - "* args" : "JsRender.JsRender file", - "* ctor" : "new Clutter.Text.full(\"Sans 10px\", file.nickType(), Clutter.Color.from_string(\"#fff\"))", - "* pack" : "add_child", - "bool x_expand" : false, - "bool y_expand" : false, - "id" : "+typetitle", - "xtype" : "Text" - }, - { - "$ x_align" : "Clutter.ActorAlign.START", - "$ xns" : "Clutter", - "$ y_align" : "Clutter.ActorAlign.START", - "* args" : "JsRender.JsRender file", - "* ctor" : "new Clutter.Text.full(\"Sans 10px\", file.nickNameSplit(), Clutter.Color.from_string(\"#fff\"))", - "* pack" : "add_child", - "bool x_expand" : false, - "bool y_expand" : false, - "id" : "+title", - "xtype" : "Text" - } - ], - "listeners" : { - "button_press_event" : [ - " ( event ) => {", - " _this.open(this.file);", - " return false;", - "} " - ], - "enter_event" : [ - "( event) => {", - " this.el.background_color = Clutter.Color.from_string(\"#333\");", - " this.title.el.background_color = Clutter.Color.from_string(\"#fff\");", - " this.typetitle.el.background_color = Clutter.Color.from_string(\"#fff\");", - " this.title.el.color = Clutter.Color.from_string(\"#000\");", - " this.typetitle.el.color = Clutter.Color.from_string(\"#000\");", - " ", - " return false;", - "}" - ], - "leave_event" : [ - "( event) => {", - " this.el.background_color = Clutter.Color.from_string(\"#000\");", - " this.title.el.background_color = Clutter.Color.from_string(\"#000\");", - " this.typetitle.el.background_color = Clutter.Color.from_string(\"#000\");", - " this.title.el.color = Clutter.Color.from_string(\"#fff\");", - " this.typetitle.el.color = Clutter.Color.from_string(\"#fff\");", - " ", - " ", - " return false;", - "}" - ] - }, - "xtype" : "Actor" - }, - { - "$ reactive" : true, - "$ xns" : "Clutter", - "* args" : "string folderpath", - "* init" : [ - " ", - "//this.el.set_size(100,100);" - ], - "* pack" : true, - "id" : "*folderitem", - "items" : [ - { - "$ xns" : "Clutter", - "* prop" : "layout_manager", - "orientation" : "Clutter.Orientation.VERTICAL", - "spacing" : 2, - "xtype" : "BoxLayout" - }, - { - "$ x_align" : "Clutter.ActorAlign.START", - "$ x_expand" : true, - "$ xns" : "Clutter", - "$ y_align" : "Clutter.ActorAlign.START", - "* args" : "string folderpath", - "* ctor" : "new Clutter.Text.full(\"Sans bold 14px\", GLib.Path.get_basename(folderpath), Clutter.Color.from_string(\"#fff\"))", - "* pack" : "add_child", - "bool y_expand" : false, - "id" : "+foldertitle", - "xtype" : "Text" - }, - { - "$ xns" : "Clutter", - "* args" : "string filepath", - "* ctor" : "new Clutter.Text.full(\"Sans 10px\", GLib.Path.get_basename(filepath), Clutter.Color.from_string(\"#fff\"))", - "* init" : [ - "{", - "\tthis.filepath = filepath;", - "}", - "" - ], - "Clutter.ActorAlign x_align" : "Clutter.ActorAlign.START", - "Clutter.ActorAlign y_align" : "Clutter.ActorAlign.START", - "bool reactive" : true, - "bool x_expand" : true, - "bool y_expand" : true, - "id" : "*folderfile", - "listeners" : { - "button_press_event" : [ - " ( event) => {", - " ", - " var f = JsRender.JsRender.factory(\"PlainFile\", _this.project, this.filepath);", - " _this.open(f);", - " return false;", - "} " - ], - "enter_event" : [ - "( event) => {", - " this.el.background_color = Clutter.Color.from_string(\"#fff\");", - " this.el.color = Clutter.Color.from_string(\"#000\");", - " return false;", - "}" - ], - "leave_event" : [ - "( event) => {", - " this.el.background_color = Clutter.Color.from_string(\"#000\");", - " this.el.color = Clutter.Color.from_string(\"#fff\");", - " return false;", - "}" - ] - }, - "string filepath" : "", - "xtype" : "Text" - } - ], - "xtype" : "Actor" - } - ], - "xtype" : "Actor" - } - ], - "listeners" : { - "scroll_event" : [ - "( event) => {", - " print(\"scroll event\\n\");", - " var y = _this.filelayout.el.y;", - " var dir = event.direction;", - " ", - " var last_child_bottom = _this.filelayout.el.last_child.y + _this.filelayout.el.last_child.height;", - " var bottompos = -1 * ( last_child_bottom - (0.5f * this.el.height));", - " ", - " switch (dir) {", - " case Clutter.ScrollDirection.UP:", - " print(\"Scroll up by %f\\n\", event.y);", - " y += event.y /2;", - " y = float.min(0, y); // ", - " break;", - " ", - " case Clutter.ScrollDirection.DOWN:", - " print(\"Scroll down by %f\\n\", event.y);", - " y -= event.y /2 ;", - " y = float.max(bottompos, y);", - " ", - " ", - " break;", - " \t case Clutter.ScrollDirection.SMOOTH:", - " \t double delta_x, delta_y;", - " \t event.get_scroll_delta(out delta_x, out delta_y);", - " //print(\"Scroll SMOOTH? by %f\\n\", delta_y * event.y);", - " y += ((float)delta_y * event.y * -1.0f) /2 ;", - " y = float.max(bottompos, y);", - " y = float.min(0, y); // ", - " ", - " break;", - " default:", - "\t print(\"scroll event = bad direction %s\\n\", dir.to_string());", - " return false;", - " }", - " // range of scroll -- can go up -- eg.. -ve value.", - " ", - "", - " ", - " print(\"Set scroll to %f (lcb=%f / height = %f)\\n\", y, last_child_bottom, this.el.height);", - " ", - " _this.filelayout.el.y = y;", - " return true;", - " ", - "}" - ] - }, - "xtype" : "ScrollActor" - } - ], - "xtype" : "Actor", - "| void clearFiles" : [ - "() {", - " ", - " this.filelayout.el.remove_all_children();", - " // we need to unref all the chidren that we loaded though...", - " ", - "}", - " " - ], - "| void loadProject" : [ - "(Project.Project pr) {", - " // list all the files, and create new Xcls_fileitem for each one.", - " ", - " this.project = pr;", - " ", - " ", - " // LEAK --- we should unref all the chilren...", - " this.filelayout.el.y = 0;", - " this.clearFiles();", - " ", - " print(\"clutter files - load project: \" + pr.name +\"\\n\");", - " // should unref.. them hopefully.", - " ", - " this.project_title_name.el.text = pr.name;", - " this.project_title_path.el.text = pr.firstPath();", - " ", - " // file items contains a reference until we reload ...", - " this.fileitems = new Gee.ArrayList();", - "", - " ", - "", - " var fiter = pr.sortedFiles().list_iterator();", - " while (fiter.next()) {", - " var a = new Xcls_fileitem(this,fiter.get());", - " this.fileitems.add(a);", - "", - "// a.ref();", - " print(\"add to clutter file view: \" + fiter.get().name + \"\\n\");", - " this.filelayout.el.add_child(a.el);", - " }", - " ", - " // folders...", - " ", - " if (!(pr is Project.Gtk)) {", - " print (\"not gtk... skipping files\");", - " return;", - " }", - " var gpr = (Project.Gtk)pr;", - " var def = gpr.compilegroups.get(\"_default_\");", - " // not sure why the above is returng null!??", - " if (def == null) {", - " \t\tdef = new Project.GtkValaSettings(\"_default_\"); ", - " \t\tgpr.compilegroups.set(\"_default_\", def);", - " }", - "\t var items = def.sources;", - "\t\t ", - "\t\t ", - "\t ", - "\tfor(var i =0 ; i < items.size; i++) {", - "\t print (\"cheking folder %s\\n\", items.get(i));", - "\t var files = gpr.filesForOpen(items.get(i));", - "\t if (files.size < 1) {", - "\t continue;", - "\t }", - "", - "\t // add the directory... items.get(i);", - "\t var x = new Xcls_folderitem(this,items.get(i));", - "\t this.fileitems.add(x);", - "\t this.filelayout.el.add_child(x.el);", - "\t ", - "\t for(var j =0 ; j < files.size; j++) {", - "\t print (\"adding file %s\\n\", files.get(j));", - "\t ", - "\t var y = new Xcls_folderfile(this, files.get(j));", - "\t this.fileitems.add(y);", - "\t x.el.add_child(y.el);", - "", - "\t // add file to files.get(j);", - "\t ", - "\t }", - "\t ", - "\t ", - "\t //this.el.set_value(citer, 1, items.get(i) );", - "\t}", - " ", - " ", - " ", - " this.el.show();", - "}", - "" - ], - "| void set_size" : [ - "(float w, float h) ", - "{", - " ", - " // called by window resize... with is alreaddy -50 (for the buttons?)", - " ", - "", - "", - "", - " if (this.el == null) {", - " print(\"object not ready yet?\");", - " return;", - " }", - " ", - " print(\"recv width %f, filelayoutw = %f\", w, w-200);", - " ", - " w = GLib.Math.floorf ( w/120.0f) * 120.0f;", - " ", - " ", - " ", - " ", - " //_this.filelayout_manager.el.max_column_width = w - 200;", - " _this.filelayout.el.width = w ;", - " ", - " this.el.set_size(", - " // this.el.get_stage().width-150,", - " w,", - " h // this.el.get_stage().height", - " );", - " ", - " // 100 right for buttons ..", - " this.el.set_position(75,0);", - " ", - " ", - " this.scroller.el.set_size(", - " // this.el.get_stage().width-150,", - " w,", - " h // this.el.get_stage().height", - " );", - " ", - " // 100 right for buttons ..", - " this.scroller.el.set_position(0,50);", - " // scroll...", - " _this.filelayout.el.y = 0.0f;", - " ", - "}", - "" - ] - } - ], - "modOrder" : "", - "name" : "ClutterFiles", - "parent" : "", - "path" : "/home/alan/gitlive/roobuilder/src/Builder4/ClutterFiles.bjs", - "permname" : "", - "title" : "" -} \ No newline at end of file diff --git a/src/Builder4/ClutterFiles.vala b/src/Builder4/ClutterFiles.vala deleted file mode 100644 index f90aa8d2f..000000000 --- a/src/Builder4/ClutterFiles.vala +++ /dev/null @@ -1,652 +0,0 @@ -static Xcls_ClutterFiles _ClutterFiles; - -public class Xcls_ClutterFiles : Object -{ - public Clutter.Actor el; - private Xcls_ClutterFiles _this; - - public static Xcls_ClutterFiles singleton() - { - if (_ClutterFiles == null) { - _ClutterFiles= new Xcls_ClutterFiles(); - } - return _ClutterFiles; - } - public Xcls_project_title project_title; - public Xcls_project_title_manager project_title_manager; - public Xcls_project_title_name project_title_name; - public Xcls_project_title_path project_title_path; - public Xcls_scroller scroller; - public Xcls_filelayout filelayout; - public Xcls_filelayout_manager filelayout_manager; - - // my vars (def) - - // ctor - public Xcls_ClutterFiles() - { - _this = this; - this.el = new Clutter.Actor(); - - // my vars (dec) - var child_0 = new Xcls_project_title( _this ); - child_0.ref(); - this.el.add_child ( child_0.el ); - var child_1 = new Xcls_scroller( _this ); - child_1.ref(); - this.el.add_child ( child_1.el ); - } - - // user defined functions - public void clearFiles () { - - this.filelayout.el.remove_all_children(); - // we need to unref all the chidren that we loaded though... - - } - public void loadProject (Project.Project pr) { - // list all the files, and create new Xcls_fileitem for each one. - - this.project = pr; - - - // LEAK --- we should unref all the chilren... - this.filelayout.el.y = 0; - this.clearFiles(); - - print("clutter files - load project: " + pr.name +"\n"); - // should unref.. them hopefully. - - this.project_title_name.el.text = pr.name; - this.project_title_path.el.text = pr.firstPath(); - - // file items contains a reference until we reload ... - this.fileitems = new Gee.ArrayList(); - - - - var fiter = pr.sortedFiles().list_iterator(); - while (fiter.next()) { - var a = new Xcls_fileitem(this,fiter.get()); - this.fileitems.add(a); - - // a.ref(); - print("add to clutter file view: " + fiter.get().name + "\n"); - this.filelayout.el.add_child(a.el); - } - - // folders... - - if (!(pr is Project.Gtk)) { - print ("not gtk... skipping files"); - return; - } - var gpr = (Project.Gtk)pr; - var def = gpr.compilegroups.get("_default_"); - // not sure why the above is returng null!?? - if (def == null) { - def = new Project.GtkValaSettings("_default_"); - gpr.compilegroups.set("_default_", def); - } - var items = def.sources; - - - - for(var i =0 ; i < items.size; i++) { - print ("cheking folder %s\n", items.get(i)); - var files = gpr.filesForOpen(items.get(i)); - if (files.size < 1) { - continue; - } - - // add the directory... items.get(i); - var x = new Xcls_folderitem(this,items.get(i)); - this.fileitems.add(x); - this.filelayout.el.add_child(x.el); - - for(var j =0 ; j < files.size; j++) { - print ("adding file %s\n", files.get(j)); - - var y = new Xcls_folderfile(this, files.get(j)); - this.fileitems.add(y); - x.el.add_child(y.el); - - // add file to files.get(j); - - } - - - //this.el.set_value(citer, 1, items.get(i) ); - } - - - - this.el.show(); - } - public void set_size (float w, float h) - { - - // called by window resize... with is alreaddy -50 (for the buttons?) - - - - - if (this.el == null) { - print("object not ready yet?"); - return; - } - - print("recv width %f, filelayoutw = %f", w, w-200); - - w = GLib.Math.floorf ( w/120.0f) * 120.0f; - - - - - //_this.filelayout_manager.el.max_column_width = w - 200; - _this.filelayout.el.width = w ; - - this.el.set_size( - // this.el.get_stage().width-150, - w, - h // this.el.get_stage().height - ); - - // 100 right for buttons .. - this.el.set_position(75,0); - - - this.scroller.el.set_size( - // this.el.get_stage().width-150, - w, - h // this.el.get_stage().height - ); - - // 100 right for buttons .. - this.scroller.el.set_position(0,50); - // scroll... - _this.filelayout.el.y = 0.0f; - - } - public class Xcls_project_title : Object - { - public Clutter.Actor el; - private Xcls_ClutterFiles _this; - - - // my vars (def) - - // ctor - public Xcls_project_title(Xcls_ClutterFiles _owner ) - { - _this = _owner; - _this.project_title = this; - this.el = new Clutter.Actor(); - - // my vars (dec) - var child_0 = new Xcls_project_title_manager( _this ); - child_0.ref(); - this.el.layout_manager = child_0.el; - var child_1 = new Xcls_FixedLayout4( _this ); - child_1.ref(); - this.el.layout_manager = child_1.el; - var child_2 = new Xcls_project_title_name( _this ); - child_2.ref(); - this.el.add_child ( child_2.el ); - var child_3 = new Xcls_project_title_path( _this ); - child_3.ref(); - this.el.add_child ( child_3.el ); - } - - // user defined functions - } - public class Xcls_project_title_manager : Object - { - public Clutter.FlowLayout el; - private Xcls_ClutterFiles _this; - - - // my vars (def) - - // ctor - public Xcls_project_title_manager(Xcls_ClutterFiles _owner ) - { - _this = _owner; - _this.project_title_manager = this; - this.el = new Clutter.FlowLayout(); - - // my vars (dec) - } - - // user defined functions - } - - public class Xcls_FixedLayout4 : Object - { - public Clutter.FixedLayout el; - private Xcls_ClutterFiles _this; - - - // my vars (def) - - // ctor - public Xcls_FixedLayout4(Xcls_ClutterFiles _owner ) - { - _this = _owner; - this.el = new Clutter.FixedLayout(); - - // my vars (dec) - } - - // user defined functions - } - - public class Xcls_project_title_name : Object - { - public Clutter.Text el; - private Xcls_ClutterFiles _this; - - - // my vars (def) - - // ctor - public Xcls_project_title_name(Xcls_ClutterFiles _owner ) - { - _this = _owner; - _this.project_title_name = this; - this.el = new Clutter.Text.full("Sans 20px", "", Clutter.Color.from_string("#eee")); - - // my vars (dec) - } - - // user defined functions - } - - public class Xcls_project_title_path : Object - { - public Clutter.Text el; - private Xcls_ClutterFiles _this; - - - // my vars (def) - - // ctor - public Xcls_project_title_path(Xcls_ClutterFiles _owner ) - { - _this = _owner; - _this.project_title_path = this; - this.el = new Clutter.Text.full("Sans 10px", "", Clutter.Color.from_string("#ccc")); - - // my vars (dec) - } - - // user defined functions - } - - - public class Xcls_scroller : Object - { - public Clutter.ScrollActor el; - private Xcls_ClutterFiles _this; - - - // my vars (def) - - // ctor - public Xcls_scroller(Xcls_ClutterFiles _owner ) - { - _this = _owner; - _this.scroller = this; - this.el = new Clutter.ScrollActor(); - - // my vars (dec) - var child_0 = new Xcls_filelayout( _this ); - child_0.ref(); - this.el.add_child ( child_0.el ); - - //listeners - this.el.scroll_event.connect( ( event) => { - print("scroll event\n"); - var y = _this.filelayout.el.y; - var dir = event.direction; - - var last_child_bottom = _this.filelayout.el.last_child.y + _this.filelayout.el.last_child.height; - var bottompos = -1 * ( last_child_bottom - (0.5f * this.el.height)); - - switch (dir) { - case Clutter.ScrollDirection.UP: - print("Scroll up by %f\n", event.y); - y += event.y /2; - y = float.min(0, y); // - break; - - case Clutter.ScrollDirection.DOWN: - print("Scroll down by %f\n", event.y); - y -= event.y /2 ; - y = float.max(bottompos, y); - - - break; - case Clutter.ScrollDirection.SMOOTH: - double delta_x, delta_y; - event.get_scroll_delta(out delta_x, out delta_y); - //print("Scroll SMOOTH? by %f\n", delta_y * event.y); - y += ((float)delta_y * event.y * -1.0f) /2 ; - y = float.max(bottompos, y); - y = float.min(0, y); // - - break; - default: - print("scroll event = bad direction %s\n", dir.to_string()); - return false; - } - // range of scroll -- can go up -- eg.. -ve value. - - - - print("Set scroll to %f (lcb=%f / height = %f)\n", y, last_child_bottom, this.el.height); - - _this.filelayout.el.y = y; - return true; - - }); - } - - // user defined functions - } - public class Xcls_filelayout : Object - { - public Clutter.Actor el; - private Xcls_ClutterFiles _this; - - - // my vars (def) - - // ctor - public Xcls_filelayout(Xcls_ClutterFiles _owner ) - { - _this = _owner; - _this.filelayout = this; - this.el = new Clutter.Actor(); - - // my vars (dec) - var child_0 = new Xcls_filelayout_manager( _this ); - child_0.ref(); - this.el.layout_manager = child_0.el; - } - - // user defined functions - } - public class Xcls_filelayout_manager : Object - { - public Clutter.FlowLayout el; - private Xcls_ClutterFiles _this; - - - // my vars (def) - - // ctor - public Xcls_filelayout_manager(Xcls_ClutterFiles _owner ) - { - _this = _owner; - _this.filelayout_manager = this; - this.el = new Clutter.FlowLayout(); - - // my vars (dec) - } - - // user defined functions - } - - public class Xcls_fileitem : Object - { - public Clutter.Actor el; - private Xcls_ClutterFiles _this; - - - // my vars (def) - public Xcls_image image; - public Xcls_typetitle typetitle; - public Xcls_title title; - - // ctor - public Xcls_fileitem(Xcls_ClutterFiles _owner , JsRender.JsRender file) - { - _this = _owner; - this.el = new Clutter.Actor(); - - // my vars (dec) - var child_0 = new Xcls_BoxLayout11( _this ); - child_0.ref(); - this.el.layout_manager = child_0.el; - var child_1 = new Xcls_image( _this ,file); - child_1.ref(); - this.el.add_child ( child_1.el ); - this.image = child_1; - var child_2 = new Xcls_typetitle( _this ,file); - child_2.ref(); - this.el.add_child ( child_2.el ); - this.typetitle = child_2; - var child_3 = new Xcls_title( _this ,file); - child_3.ref(); - this.el.add_child ( child_3.el ); - this.title = child_3; - - //listeners - this.el.button_press_event.connect( ( event ) => { - _this.open(this.file); - return false; - }); - this.el.enter_event.connect( ( event) => { - this.el.background_color = Clutter.Color.from_string("#333"); - this.title.el.background_color = Clutter.Color.from_string("#fff"); - this.typetitle.el.background_color = Clutter.Color.from_string("#fff"); - this.title.el.color = Clutter.Color.from_string("#000"); - this.typetitle.el.color = Clutter.Color.from_string("#000"); - - return false; - }); - this.el.leave_event.connect( ( event) => { - this.el.background_color = Clutter.Color.from_string("#000"); - this.title.el.background_color = Clutter.Color.from_string("#000"); - this.typetitle.el.background_color = Clutter.Color.from_string("#000"); - this.title.el.color = Clutter.Color.from_string("#fff"); - this.typetitle.el.color = Clutter.Color.from_string("#fff"); - - - return false; - }); - } - - // user defined functions - } - public class Xcls_BoxLayout11 : Object - { - public Clutter.BoxLayout el; - private Xcls_ClutterFiles _this; - - - // my vars (def) - - // ctor - public Xcls_BoxLayout11(Xcls_ClutterFiles _owner ) - { - _this = _owner; - this.el = new Clutter.BoxLayout(); - - // my vars (dec) - } - - // user defined functions - } - - public class Xcls_image : Object - { - public Clutter.Actor el; - private Xcls_ClutterFiles _this; - - - // my vars (def) - - // ctor - public Xcls_image(Xcls_ClutterFiles _owner , JsRender.JsRender file) - { - _this = _owner; - this.el = new Clutter.Actor(); - - // my vars (dec) - } - - // user defined functions - } - - public class Xcls_typetitle : Object - { - public Clutter.Text el; - private Xcls_ClutterFiles _this; - - - // my vars (def) - - // ctor - public Xcls_typetitle(Xcls_ClutterFiles _owner , JsRender.JsRender file) - { - _this = _owner; - this.el = new Clutter.Text.full("Sans 10px", file.nickType(), Clutter.Color.from_string("#fff")); - - // my vars (dec) - } - - // user defined functions - } - - public class Xcls_title : Object - { - public Clutter.Text el; - private Xcls_ClutterFiles _this; - - - // my vars (def) - - // ctor - public Xcls_title(Xcls_ClutterFiles _owner , JsRender.JsRender file) - { - _this = _owner; - this.el = new Clutter.Text.full("Sans 10px", file.nickNameSplit(), Clutter.Color.from_string("#fff")); - - // my vars (dec) - } - - // user defined functions - } - - - public class Xcls_folderitem : Object - { - public Clutter.Actor el; - private Xcls_ClutterFiles _this; - - - // my vars (def) - public Xcls_foldertitle foldertitle; - - // ctor - public Xcls_folderitem(Xcls_ClutterFiles _owner , string folderpath) - { - _this = _owner; - this.el = new Clutter.Actor(); - - // my vars (dec) - var child_0 = new Xcls_BoxLayout16( _this ); - child_0.ref(); - this.el.layout_manager = child_0.el; - var child_1 = new Xcls_foldertitle( _this ,folderpath); - child_1.ref(); - this.el.add_child ( child_1.el ); - this.foldertitle = child_1; - } - - // user defined functions - } - public class Xcls_BoxLayout16 : Object - { - public Clutter.BoxLayout el; - private Xcls_ClutterFiles _this; - - - // my vars (def) - - // ctor - public Xcls_BoxLayout16(Xcls_ClutterFiles _owner ) - { - _this = _owner; - this.el = new Clutter.BoxLayout(); - - // my vars (dec) - } - - // user defined functions - } - - public class Xcls_foldertitle : Object - { - public Clutter.Text el; - private Xcls_ClutterFiles _this; - - - // my vars (def) - - // ctor - public Xcls_foldertitle(Xcls_ClutterFiles _owner , string folderpath) - { - _this = _owner; - this.el = new Clutter.Text.full("Sans bold 14px", GLib.Path.get_basename(folderpath), Clutter.Color.from_string("#fff")); - - // my vars (dec) - } - - // user defined functions - } - - public class Xcls_folderfile : Object - { - public Clutter.Text el; - private Xcls_ClutterFiles _this; - - - // my vars (def) - - // ctor - public Xcls_folderfile(Xcls_ClutterFiles _owner , string filepath) - { - _this = _owner; - this.el = new Clutter.Text.full("Sans 10px", GLib.Path.get_basename(filepath), Clutter.Color.from_string("#fff")); - - // my vars (dec) - - //listeners - this.el.button_press_event.connect( ( event) => { - - var f = JsRender.JsRender.factory("PlainFile", _this.project, this.filepath); - _this.open(f); - return false; - }); - this.el.enter_event.connect( ( event) => { - this.el.background_color = Clutter.Color.from_string("#fff"); - this.el.color = Clutter.Color.from_string("#000"); - return false; - }); - this.el.leave_event.connect( ( event) => { - this.el.background_color = Clutter.Color.from_string("#000"); - this.el.color = Clutter.Color.from_string("#fff"); - return false; - }); - } - - // user defined functions - } - - - - -} diff --git a/src/Builder4/Editor.vala b/src/Builder4/Editor.vala index 6d8401fae..8bf9cbd82 100644 --- a/src/Builder4/Editor.vala +++ b/src/Builder4/Editor.vala @@ -1091,6 +1091,7 @@ public class Editor : Object // set gobject values this.el.always_show_image = true; this.el.visible = false; + this.el.show(); //listeners this.el.button_press_event.connect( () => { @@ -1354,6 +1355,7 @@ public class Editor : Object // set gobject values this.el.label = "Case Sensitive"; + this.el.show(); // init method @@ -1384,6 +1386,7 @@ public class Editor : Object // set gobject values this.el.label = "Regex"; + this.el.show(); // init method @@ -1414,6 +1417,7 @@ public class Editor : Object // set gobject values this.el.label = "Multi-line (add \\n)"; + this.el.show(); // init method diff --git a/src/Builder4/GtkView.bjs b/src/Builder4/GtkView.bjs index 5d46166c6..fe4fb3d0b 100644 --- a/src/Builder4/GtkView.bjs +++ b/src/Builder4/GtkView.bjs @@ -816,14 +816,13 @@ " }", " ", " ", - " var filename = this.file.getIconFileName(false);", - " ", + "", " var win = this.el.get_parent_window();", " var width = win.get_width();", " var height = win.get_height();", " try {", " Gdk.Pixbuf screenshot = Gdk.pixbuf_get_from_window(win, 0, 0, width, height); // this.el.position?", - " screenshot.save(filename,\"png\");", + " this.file.writeIcon(screenshot);", " } catch (Error e) {", " ", " }", diff --git a/src/Builder4/GtkView.vala b/src/Builder4/GtkView.vala index 7991ac62e..af5759587 100644 --- a/src/Builder4/GtkView.vala +++ b/src/Builder4/GtkView.vala @@ -290,14 +290,13 @@ public class Xcls_GtkView : Object } - var filename = this.file.getIconFileName(false); - + var win = this.el.get_parent_window(); var width = win.get_width(); var height = win.get_height(); try { Gdk.Pixbuf screenshot = Gdk.pixbuf_get_from_window(win, 0, 0, width, height); // this.el.position? - screenshot.save(filename,"png"); + this.file.writeIcon(screenshot); } catch (Error e) { } @@ -1140,6 +1139,7 @@ public class Xcls_GtkView : Object // set gobject values this.el.always_show_image = true; this.el.visible = false; + this.el.show(); //listeners this.el.button_press_event.connect( () => { @@ -1403,6 +1403,7 @@ public class Xcls_GtkView : Object // set gobject values this.el.label = "Case Sensitive"; + this.el.show(); // init method @@ -1433,6 +1434,7 @@ public class Xcls_GtkView : Object // set gobject values this.el.label = "Regex"; + this.el.show(); // init method @@ -1463,6 +1465,7 @@ public class Xcls_GtkView : Object // set gobject values this.el.label = "Multi-line (add \\n)"; + this.el.show(); // init method diff --git a/src/Builder4/PopoverFiles.bjs b/src/Builder4/PopoverFiles.bjs index 5f2c0c513..8cde0499a 100644 --- a/src/Builder4/PopoverFiles.bjs +++ b/src/Builder4/PopoverFiles.bjs @@ -3,6 +3,7 @@ "items" : [ { "# Gdk.Pixbuf missing_thumb_pixbuf" : "", + "# Gee.HashMap image_cache" : "null", "# Project.Project selectedProject" : "", "# Xcls_MainWindow win" : "", "# bool is_loaded" : false, @@ -12,6 +13,7 @@ "Gtk.PositionType position" : "Gtk.PositionType.TOP", "bool active" : false, "bool hexpand" : false, + "bool in_onprojectselected" : false, "bool modal" : true, "id" : "PopoverFiles", "int height_request" : 800, @@ -267,94 +269,142 @@ }, { "$ xns" : "Gtk", - "* init" : " this.el.set_policy (Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);", - "* pack" : "add", - "Gtk.ShadowType shadow_type" : "Gtk.ShadowType.IN", + "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL", "bool expand" : true, - "id" : "iconscroll", + "int spacing" : 0, "int width_request" : 600, "items" : [ + { + "$ xns" : "Gtk", + "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL", + "bool hexpand" : true, + "int spacing" : 0, + "items" : [ + { + "$ xns" : "Gtk", + "* init" : [ + "var description = Pango.FontDescription.from_string(\"monospace\");", + "\tdescription.set_size(8000);", + "\t this.el.override_font(description);", + "", + "" + ], + "bool hexpand" : true, + "id" : "iconsearch", + "listeners" : { + "changed" : [ + "( ) => {", + "\tGLib.debug(\"Got '%s'\", this.el.text);", + "\t", + "\tif (this.el.text.down() != _this.lastfilter) {", + "\t\t_this.loadIconView();", + "\t}", + "}", + "" + ] + }, + "string placeholder_text" : "type to filter results", + "xtype" : "SearchEntry" + } + ], + "xtype" : "Box" + }, { "$ xns" : "Gtk", "* init" : [ - "{", - "", - "}", - "" + " this.el.set_policy (Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);", + " " ], "* pack" : "add", - "bool has_tooltip" : true, - "id" : "iconview", - "int item_width" : 100, - "int markup_column" : 1, - "int pixbuf_column" : 3, + "Gtk.ShadowType shadow_type" : "Gtk.ShadowType.IN", + "bool expand" : true, + "id" : "iconscroll", + "int width_request" : 600, "items" : [ { - "$ columns" : "typeof(Object), typeof(string), typeof(string), typeof(Gdk.Pixbuf), typeof(Gdk.Pixbuf) ", "$ xns" : "Gtk", - "* prop" : "model", - "id" : "iconmodel", - "int n_columns" : 4, - "xtype" : "ListStore" + "* init" : [ + "{", + " ", + "}", + "" + ], + "* pack" : "add", + "bool has_tooltip" : true, + "id" : "iconview", + "int item_width" : 100, + "int markup_column" : 1, + "int pixbuf_column" : 3, + "items" : [ + { + "$ columns" : "typeof(Object), typeof(string), typeof(string), typeof(Gdk.Pixbuf), typeof(Gdk.Pixbuf) ", + "$ xns" : "Gtk", + "* prop" : "model", + "id" : "iconmodel", + "int n_columns" : 4, + "xtype" : "ListStore" + } + ], + "listeners" : { + "item_activated" : [ + "(path) => {", + " ", + " _this.win.windowstate.project = _this.selectedProject;", + " _this.el.hide();", + " ", + " ", + " \tGtk.TreeIter iter;", + " ", + " ", + "\tthis.el.model.get_iter(out iter, path);", + " ", + " GLib.Value gval;", + "", + " this.el.model.get_value(iter, 0 , out gval);", + " var file = (JsRender.JsRender)gval;", + " ", + " ", + " _this.win.windowstate.fileViewOpen(file, _this.new_window);", + "", + " ", + " ", + "}" + ], + "query_tooltip" : [ + "(x, y, keyboard_tooltip, tooltip) => {", + "", + "\tGtk.TreePath path;", + "\tGtk.CellRenderer cell;", + "\tvar s = _this.iconview.el.get_item_at_pos(x,y + (int) _this.iconscroll.el.vadjustment.value, out path, out cell);", + "\t", + "\t", + " // GLib.debug(\"Tooltip? %d,%d scroll: %d\",x,y, (int)_this.iconscroll.el.vadjustment.value);", + "\t ", + "\t", + "\tif (path == null) {", + "\t\t// GLib.debug(\"Tooltip? - no path\");", + "\t\treturn false;", + "\t}", + "\t", + "\tGtk.TreeIter iter;", + "\t_this.iconmodel.el.get_iter(out iter, path);", + "\tGLib.Value val;", + "\t_this.iconmodel.el.get_value(iter, 4, out val);", + "\t", + "\ttooltip.set_icon((Gdk.Pixbuf) val.get_object());", + "\t _this.iconview.el.set_tooltip_item(tooltip, path);", + "\treturn true;", + "}", + "" + ] + }, + "xtype" : "IconView" } ], - "listeners" : { - "item_activated" : [ - "(path) => {", - " ", - " _this.win.windowstate.project = _this.selectedProject;", - " _this.el.hide();", - " ", - " ", - " \tGtk.TreeIter iter;", - " ", - " ", - "\tthis.el.model.get_iter(out iter, path);", - " ", - " GLib.Value gval;", - "", - " this.el.model.get_value(iter, 0 , out gval);", - " var file = (JsRender.JsRender)gval;", - " ", - " ", - " _this.win.windowstate.fileViewOpen(file, _this.new_window);", - "", - " ", - " ", - "}" - ], - "query_tooltip" : [ - "(x, y, keyboard_tooltip, tooltip) => {", - "", - "\tGtk.TreePath path;", - "\tGtk.CellRenderer cell;", - "\tvar s = _this.iconview.el.get_item_at_pos(x,y + (int) _this.iconscroll.el.vadjustment.value, out path, out cell);", - "\t", - "\t", - " // GLib.debug(\"Tooltip? %d,%d scroll: %d\",x,y, (int)_this.iconscroll.el.vadjustment.value);", - "\t ", - "\t", - "\tif (path == null) {", - "\t\t// GLib.debug(\"Tooltip? - no path\");", - "\t\treturn false;", - "\t}", - "\t", - "\tGtk.TreeIter iter;", - "\t_this.iconmodel.el.get_iter(out iter, path);", - "\tGLib.Value val;", - "\t_this.iconmodel.el.get_value(iter, 4, out val);", - "\t", - "\ttooltip.set_icon((Gdk.Pixbuf) val.get_object());", - "\t _this.iconview.el.set_tooltip_item(tooltip, path);", - "\treturn true;", - "}", - "" - ] - }, - "xtype" : "IconView" + "xtype" : "ScrolledWindow" } ], - "xtype" : "ScrolledWindow" + "xtype" : "Box" }, { "$ xns" : "Gtk", @@ -511,6 +561,7 @@ "}" ] }, + "string lastfilter" : "\"\"", "xtype" : "Popover", "| void load" : [ "() {", @@ -545,65 +596,77 @@ "}", "" ], - "| void onProjectSelected" : [ - "(Project.Project project) ", - "{", - "\tthis.selectedProject = project;", - "\tproject.scanDirs();", - "\t//this.clutterfiles.loadProject(proj);", + "| void loadIconView" : [ + "() {", "\t", + "\tif (_this.image_cache == null) {", + "\t\t_this.image_cache = new Gee.HashMap();", + "\t}", "\t", - "\t ", - "", - " ", - " ", - " //this.project_title_name.el.text = pr.name;", - " //this.project_title_path.el.text = pr.firstPath();", - " ", - " // file items contains a reference until we reload ...", - " \t Gdk.Pixbuf pixbuf = null;", - " \tGdk.Pixbuf bigpixbuf = null;", + "\t var project = this.selectedProject;", + " ", + " \t Gdk.Pixbuf pixbuf = null;", + " \t Gdk.Pixbuf bigpixbuf = null;", "\t Gtk.TreeIter iter;", " var m = this.iconmodel.el;", " m.clear();", " ", + " ", + " \tvar filter = _this.iconsearch.el.text.down();", + " \tthis.lastfilter = filter;", + " ", " var fiter = project.sortedFiles().list_iterator();", + " ", + " ", + " try {", + "\t if (_this.missing_thumb_pixbuf == null) {", + "\t var icon_theme = Gtk.IconTheme.get_default ();", + "\t _this.missing_thumb_pixbuf = icon_theme.load_icon (\"package-x-generic\", 92, 0);", + "\t _this.missing_thumb_pixbuf.ref();", + "\t }", + "\t ", + "", + "\t } catch (Error e) {", + "\t // noop?", + "\t }", + " ", + "", + " ", " while (fiter.next()) {", - " m.append(out iter);", + " ", " var file = fiter.get();", + " if (filter != \"\") {", + " \tif (!file.name.down().contains(filter)) {", + " \t\tcontinue;", + " \t\t}", + " ", + " } ", + " \t", + " ", + " ", + " m.append(out iter);", + "", " m.set(iter, 0,file ); // zero contains the file reference", " m.set(iter, 1,file.nickType() + \"\\n\" + file.nickName()); // marked up title?", " m.set(iter, 2,file.nickType() ); // file type?", " ", - " ", - " var fname = file.getIconFileName(false);", + " ", + "", " try {", - "\t\t if (FileUtils.test(fname, FileTest.EXISTS)) {", - "\t\t var npixbuf = new Gdk.Pixbuf.from_file(fname);", - "\t\t pixbuf = npixbuf.scale_simple(92, (int) (npixbuf.height * 92.0 /npixbuf.width * 1.0 )", - "\t\t\t\t , Gdk.InterpType.NEAREST) ;", - "\t\t\t\tbigpixbuf = npixbuf.scale_simple(368, (int) (npixbuf.height * 368.0 /npixbuf.width * 1.0 )", - "\t\t\t\t , Gdk.InterpType.NEAREST) ;", - "\t\t\t\t", - "\t\t } ", + "\t\t ", + "\t\t pixbuf = file.getIcon(92);", + "\t\t\tbigpixbuf = file.getIcon(368);", + "", "\t\t} catch (Error e) {", "\t\t // noop", "\t\t", - "\t\t}", - " if (pixbuf == null) {", + "\t\t} ", " ", - "\t\t try {", - "\t\t if (_this.missing_thumb_pixbuf == null) {", - "\t\t var icon_theme = Gtk.IconTheme.get_default ();", - "\t\t _this.missing_thumb_pixbuf = icon_theme.load_icon (\"package-x-generic\", 92, 0);", - "\t\t _this.missing_thumb_pixbuf.ref();", - "\t\t }", - "\t\t pixbuf = _this.missing_thumb_pixbuf;", - "\t\t bigpixbuf = _this.missing_thumb_pixbuf;", - "", - "\t\t } catch (Error e) {", - "\t\t // noop?", - "\t\t }", + " ", + " if (pixbuf == null) {", + " \tGLib.debug(\"PIXBUF is null? %s\", file.name);", + "\t\t pixbuf = _this.missing_thumb_pixbuf;", + " \tbigpixbuf = _this.missing_thumb_pixbuf;", "\t\t}", "\t\t", "\t\t", @@ -618,7 +681,40 @@ "", " //this.filelayout.el.add_child(a.el);", " }", + "}" + ], + "| void onProjectSelected" : [ + "(Project.Project project) ", + "{", + "\tif (this.in_onprojectselected) { ", + "\t\treturn;", + "\t}", + "\tthis.in_onprojectselected = true;", + "\t", + "\t", + "\tthis.selectedProject = project;", + "\tproject.scanDirs();", + "\t//this.clutterfiles.loadProject(proj);", + "\t", + "\t", + "\t", + "\t_this.iconsearch.el.text = \"\";", + "\t", + "\t ", + "\t", + " ", " ", + " //this.project_title_name.el.text = pr.name;", + " //this.project_title_path.el.text = pr.firstPath();", + " ", + " // file items contains a reference until we reload ...", + " \t this.loadIconView();", + " \t ", + " \t ", + " \t GLib.Timeout.add(500, () => {", + "\t _this.iconsearch.el.grab_focus();", + "\t return false;", + " });", " ", " this.filemodel.el.clear();", " ", @@ -627,6 +723,7 @@ " if (!(project is Project.Gtk)) {", " print (\"not gtk... skipping files\");", " this.file_container.el.hide();", + " \tthis.in_onprojectselected = false;", " return;", " }", " this.file_container.el.show();", @@ -671,7 +768,7 @@ "\t //this.el.set_value(citer, 1, items.get(i) );", "\t}", " _this.fileview.el.expand_all();", - " ", + " \tthis.in_onprojectselected = false;", "\t", "}", "" diff --git a/src/Builder4/PopoverFiles.vala b/src/Builder4/PopoverFiles.vala index 26b85b4b1..abe9d9067 100644 --- a/src/Builder4/PopoverFiles.vala +++ b/src/Builder4/PopoverFiles.vala @@ -15,6 +15,7 @@ public class Xcls_PopoverFiles : Object public Xcls_view view; public Xcls_model model; public Xcls_namecol namecol; + public Xcls_iconsearch iconsearch; public Xcls_iconscroll iconscroll; public Xcls_iconview iconview; public Xcls_iconmodel iconmodel; @@ -25,10 +26,13 @@ public class Xcls_PopoverFiles : Object // my vars (def) public Xcls_MainWindow win; + public string lastfilter; + public bool in_onprojectselected; public Project.Project selectedProject; public bool is_loading; public bool new_window; public Gdk.Pixbuf missing_thumb_pixbuf; + public Gee.HashMap image_cache; public bool active; public bool is_loaded; @@ -39,8 +43,11 @@ public class Xcls_PopoverFiles : Object this.el = new Gtk.Popover( null ); // my vars (dec) + this.lastfilter = ""; + this.in_onprojectselected = false; this.is_loading = false; this.new_window = false; + this.image_cache = null; this.active = false; this.is_loaded = false; @@ -70,77 +77,35 @@ public class Xcls_PopoverFiles : Object // user defined functions public void onProjectSelected (Project.Project project) { + if (this.in_onprojectselected) { + return; + } + this.in_onprojectselected = true; + + this.selectedProject = project; project.scanDirs(); //this.clutterfiles.loadProject(proj); + + _this.iconsearch.el.text = ""; + - + //this.project_title_name.el.text = pr.name; //this.project_title_path.el.text = pr.firstPath(); // file items contains a reference until we reload ... - Gdk.Pixbuf pixbuf = null; - Gdk.Pixbuf bigpixbuf = null; - Gtk.TreeIter iter; - var m = this.iconmodel.el; - m.clear(); - - var fiter = project.sortedFiles().list_iterator(); - while (fiter.next()) { - m.append(out iter); - var file = fiter.get(); - m.set(iter, 0,file ); // zero contains the file reference - m.set(iter, 1,file.nickType() + "\n" + file.nickName()); // marked up title? - m.set(iter, 2,file.nickType() ); // file type? - - - var fname = file.getIconFileName(false); - try { - if (FileUtils.test(fname, FileTest.EXISTS)) { - var npixbuf = new Gdk.Pixbuf.from_file(fname); - pixbuf = npixbuf.scale_simple(92, (int) (npixbuf.height * 92.0 /npixbuf.width * 1.0 ) - , Gdk.InterpType.NEAREST) ; - bigpixbuf = npixbuf.scale_simple(368, (int) (npixbuf.height * 368.0 /npixbuf.width * 1.0 ) - , Gdk.InterpType.NEAREST) ; - - } - } catch (Error e) { - // noop - - } - if (pixbuf == null) { - - try { - if (_this.missing_thumb_pixbuf == null) { - var icon_theme = Gtk.IconTheme.get_default (); - _this.missing_thumb_pixbuf = icon_theme.load_icon ("package-x-generic", 92, 0); - _this.missing_thumb_pixbuf.ref(); - } - pixbuf = _this.missing_thumb_pixbuf; - bigpixbuf = _this.missing_thumb_pixbuf; - - } catch (Error e) { - // noop? - } - } - - - - m.set(iter, 3,pixbuf); - m.set(iter, 4,bigpixbuf); - - // this needs to add to the iconview? - - //var a = new Xcls_fileitem(this,fiter.get()); - //this.fileitems.add(a); - - //this.filelayout.el.add_child(a.el); - } - + this.loadIconView(); + + + GLib.Timeout.add(500, () => { + _this.iconsearch.el.grab_focus(); + return false; + }); this.filemodel.el.clear(); @@ -149,6 +114,7 @@ public class Xcls_PopoverFiles : Object if (!(project is Project.Gtk)) { print ("not gtk... skipping files"); this.file_container.el.hide(); + this.in_onprojectselected = false; return; } this.file_container.el.show(); @@ -193,7 +159,7 @@ public class Xcls_PopoverFiles : Object //this.el.set_value(citer, 1, items.get(i) ); } _this.fileview.el.expand_all(); - + this.in_onprojectselected = false; } public void selectProject (Project.Project project) { @@ -291,6 +257,91 @@ public class Xcls_PopoverFiles : Object this.win = win; } + public void loadIconView () { + + if (_this.image_cache == null) { + _this.image_cache = new Gee.HashMap(); + } + + var project = this.selectedProject; + + Gdk.Pixbuf pixbuf = null; + Gdk.Pixbuf bigpixbuf = null; + Gtk.TreeIter iter; + var m = this.iconmodel.el; + m.clear(); + + + var filter = _this.iconsearch.el.text.down(); + this.lastfilter = filter; + + var fiter = project.sortedFiles().list_iterator(); + + + try { + if (_this.missing_thumb_pixbuf == null) { + var icon_theme = Gtk.IconTheme.get_default (); + _this.missing_thumb_pixbuf = icon_theme.load_icon ("package-x-generic", 92, 0); + _this.missing_thumb_pixbuf.ref(); + } + + + } catch (Error e) { + // noop? + } + + + + while (fiter.next()) { + + var file = fiter.get(); + if (filter != "") { + if (!file.name.down().contains(filter)) { + continue; + } + + } + + + + m.append(out iter); + + m.set(iter, 0,file ); // zero contains the file reference + m.set(iter, 1,file.nickType() + "\n" + file.nickName()); // marked up title? + m.set(iter, 2,file.nickType() ); // file type? + + + + try { + + pixbuf = file.getIcon(92); + bigpixbuf = file.getIcon(368); + + } catch (Error e) { + // noop + + } + + + if (pixbuf == null) { + GLib.debug("PIXBUF is null? %s", file.name); + pixbuf = _this.missing_thumb_pixbuf; + bigpixbuf = _this.missing_thumb_pixbuf; + } + + + + m.set(iter, 3,pixbuf); + m.set(iter, 4,bigpixbuf); + + // this needs to add to the iconview? + + //var a = new Xcls_fileitem(this,fiter.get()); + //this.fileitems.add(a); + + //this.filelayout.el.add_child(a.el); + } + } public class Xcls_Box2 : Object { public Gtk.Box el; @@ -570,9 +621,9 @@ public class Xcls_PopoverFiles : Object var child_0 = new Xcls_ScrolledWindow10( _this ); child_0.ref(); this.el.add ( child_0.el ); - var child_1 = new Xcls_iconscroll( _this ); + var child_1 = new Xcls_Box15( _this ); child_1.ref(); - this.el.add ( child_1.el ); + this.el.add( child_1.el ); var child_2 = new Xcls_file_container( _this ); child_2.ref(); this.el.add ( child_2.el ); @@ -768,6 +819,101 @@ public class Xcls_PopoverFiles : Object + public class Xcls_Box15 : Object + { + public Gtk.Box el; + private Xcls_PopoverFiles _this; + + + // my vars (def) + + // ctor + public Xcls_Box15(Xcls_PopoverFiles _owner ) + { + _this = _owner; + this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 ); + + // my vars (dec) + + // set gobject values + this.el.width_request = 600; + this.el.expand = true; + var child_0 = new Xcls_Box16( _this ); + child_0.ref(); + this.el.add( child_0.el ); + var child_1 = new Xcls_iconscroll( _this ); + child_1.ref(); + this.el.add ( child_1.el ); + } + + // user defined functions + } + public class Xcls_Box16 : Object + { + public Gtk.Box el; + private Xcls_PopoverFiles _this; + + + // my vars (def) + + // ctor + public Xcls_Box16(Xcls_PopoverFiles _owner ) + { + _this = _owner; + this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 ); + + // my vars (dec) + + // set gobject values + this.el.hexpand = true; + var child_0 = new Xcls_iconsearch( _this ); + child_0.ref(); + this.el.add( child_0.el ); + } + + // user defined functions + } + public class Xcls_iconsearch : Object + { + public Gtk.SearchEntry el; + private Xcls_PopoverFiles _this; + + + // my vars (def) + + // ctor + public Xcls_iconsearch(Xcls_PopoverFiles _owner ) + { + _this = _owner; + _this.iconsearch = this; + this.el = new Gtk.SearchEntry(); + + // my vars (dec) + + // set gobject values + this.el.hexpand = true; + this.el.placeholder_text = "type to filter results"; + + // init method + + var description = Pango.FontDescription.from_string("monospace"); + description.set_size(8000); + this.el.override_font(description); + + //listeners + this.el.changed.connect( ( ) => { + GLib.debug("Got '%s'", this.el.text); + + if (this.el.text.down() != _this.lastfilter) { + _this.loadIconView(); + } + }); + } + + // user defined functions + } + + public class Xcls_iconscroll : Object { public Gtk.ScrolledWindow el; @@ -829,7 +975,7 @@ public class Xcls_PopoverFiles : Object // init method { - + } //listeners @@ -908,6 +1054,7 @@ public class Xcls_PopoverFiles : Object + public class Xcls_file_container : Object { public Gtk.ScrolledWindow el; @@ -966,7 +1113,7 @@ public class Xcls_PopoverFiles : Object var child_0 = new Xcls_filemodel( _this ); child_0.ref(); this.el.set_model ( child_0.el ); - var child_1 = new Xcls_TreeViewColumn21( _this ); + var child_1 = new Xcls_TreeViewColumn24( _this ); child_1.ref(); this.el.append_column ( child_1.el ); @@ -1070,7 +1217,7 @@ public class Xcls_PopoverFiles : Object // user defined functions } - public class Xcls_TreeViewColumn21 : Object + public class Xcls_TreeViewColumn24 : Object { public Gtk.TreeViewColumn el; private Xcls_PopoverFiles _this; @@ -1079,7 +1226,7 @@ public class Xcls_PopoverFiles : Object // my vars (def) // ctor - public Xcls_TreeViewColumn21(Xcls_PopoverFiles _owner ) + public Xcls_TreeViewColumn24(Xcls_PopoverFiles _owner ) { _this = _owner; this.el = new Gtk.TreeViewColumn(); diff --git a/src/Builder4/WindowRooView.bjs b/src/Builder4/WindowRooView.bjs index 6d9ac2800..82d279641 100644 --- a/src/Builder4/WindowRooView.bjs +++ b/src/Builder4/WindowRooView.bjs @@ -1597,14 +1597,14 @@ " return;", " }", " ", - " var filename = this.file.getIconFileName(false);", " ", " var win = this.el.get_parent_window();", " var width = win.get_width();", " // var height = win.get_height();", " try { ", " Gdk.Pixbuf screenshot = Gdk.pixbuf_get_from_window(win, 0, 0, width, this.paned.el.position);", - " screenshot.save(filename,\"png\");", + " this.file.writeIcon(screenshot);", + " ", " } catch(Error e) {", " //noop", " }", diff --git a/src/Builder4/WindowRooView.vala b/src/Builder4/WindowRooView.vala index b567e929f..19bc8eaa9 100644 --- a/src/Builder4/WindowRooView.vala +++ b/src/Builder4/WindowRooView.vala @@ -238,14 +238,14 @@ public class Xcls_WindowRooView : Object return; } - var filename = this.file.getIconFileName(false); var win = this.el.get_parent_window(); var width = win.get_width(); // var height = win.get_height(); try { Gdk.Pixbuf screenshot = Gdk.pixbuf_get_from_window(win, 0, 0, width, this.paned.el.position); - screenshot.save(filename,"png"); + this.file.writeIcon(screenshot); + } catch(Error e) { //noop } @@ -1935,6 +1935,7 @@ public class Xcls_WindowRooView : Object // set gobject values this.el.always_show_image = true; this.el.visible = false; + this.el.show(); //listeners this.el.button_press_event.connect( () => { @@ -2198,6 +2199,7 @@ public class Xcls_WindowRooView : Object // set gobject values this.el.label = "Case Sensitive"; + this.el.show(); // init method @@ -2228,6 +2230,7 @@ public class Xcls_WindowRooView : Object // set gobject values this.el.label = "Regex"; + this.el.show(); // init method @@ -2258,6 +2261,7 @@ public class Xcls_WindowRooView : Object // set gobject values this.el.label = "Multi-line (add \\n)"; + this.el.show(); // init method diff --git a/src/Builder4/config1.builder b/src/Builder4/config1.builder index 9016c846b..adaf4907e 100644 --- a/src/Builder4/config1.builder +++ b/src/Builder4/config1.builder @@ -180,7 +180,8 @@ "../..//pixmaps", "../../..//gitlive", "..//codegen", - "..//ccode" + "..//ccode", + "../..//debian" ], "packages" : [ "gdk-3.0", diff --git a/src/JsRender/JsRender.vala b/src/JsRender/JsRender.vala index 2ef840c95..51178f1da 100644 --- a/src/JsRender/JsRender.vala +++ b/src/JsRender/JsRender.vala @@ -174,9 +174,66 @@ namespace JsRender { return ret; } + + Gdk.Pixbuf screenshot = null; + Gdk.Pixbuf screenshot92 = null; + Gdk.Pixbuf screenshot368 = null; + + public Gdk.Pixbuf? getIcon(int size = 0) { + var fname = this.getIconFileName( ); + if (!FileUtils.test(fname, FileTest.EXISTS)) { + GLib.debug("PIXBUF %s: %s does not exist?", this.name, fname); + return null; + } + + switch (size) { + case 0: + if (this.screenshot == null) { + this.screenshot = new Gdk.Pixbuf.from_file(fname); + } + return this.screenshot; + + case 92: + + if (this.screenshot == null) { + this.getIcon(0); + if (this.screenshot == null) { + return null; + } + } + + this.screenshot92 = this.screenshot.scale_simple(92, (int) (this.screenshot.height * 92.0 /this.screenshot.width * 1.0 ) + , Gdk.InterpType.NEAREST) ; + return this.screenshot92; + + case 368: + if (this.screenshot == null) { + this.getIcon(0); + if (this.screenshot == null) { + return null; + } + } + + this.screenshot368 = this.screenshot.scale_simple(368, (int) (this.screenshot.height * 368.0 /this.screenshot.width * 1.0 ) + , Gdk.InterpType.NEAREST) ; + return this.screenshot368; + } + return null; + } + + public void writeIcon(Gdk.Pixbuf pixbuf) { + + pixbuf.save(this.getIconFileName( ),"png"); + this.screenshot = pixbuf; + this.screenshot92 = null; + this.screenshot368 = null; + + + } + - public string getIconFileName(bool return_default) + public string getIconFileName( ) { var m5 = GLib.Checksum.compute_for_string(GLib.ChecksumType.MD5,this.path); @@ -191,19 +248,9 @@ namespace JsRender { } var fname = dir + "/" + m5 + ".png"; - if (!return_default) { - print("getIconFileName return %s\n", fname); - return fname; - } - - if (FileUtils.test(fname, FileTest.EXISTS)) { - print("getIconFileName return %s\n", fname); - return fname; - } - // we need to create this somehow... - print("getIconFileName return %s\n", GLib.Environment.get_home_dir() + "/.Builder/test.jpg"); - return GLib.Environment.get_home_dir() + "/.Builder/test.jpg"; - + + return fname; + } public string toJsonString()