diff --git a/.import/.gdignore b/.import/.gdignore new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/.import/.gdignore @@ -0,0 +1 @@ + diff --git a/.import/add_button_hover.png-cdbe778a322e171ee118ec3db1548d1c.md5 b/.import/add_button_hover.png-cdbe778a322e171ee118ec3db1548d1c.md5 new file mode 100644 index 0000000..67909ac --- /dev/null +++ b/.import/add_button_hover.png-cdbe778a322e171ee118ec3db1548d1c.md5 @@ -0,0 +1,3 @@ +source_md5="b0ae9c92bc10ddd8e279278d487e5640" +dest_md5="dbaa22dbba4b13a17ab3a1c0a856c828" + diff --git a/.import/add_button_hover.png-cdbe778a322e171ee118ec3db1548d1c.stex b/.import/add_button_hover.png-cdbe778a322e171ee118ec3db1548d1c.stex new file mode 100644 index 0000000..9ae54b0 Binary files /dev/null and b/.import/add_button_hover.png-cdbe778a322e171ee118ec3db1548d1c.stex differ diff --git a/.import/add_button_hovered.png-d96cc281641bcae1fc068be7f9a78f75.md5 b/.import/add_button_hovered.png-d96cc281641bcae1fc068be7f9a78f75.md5 new file mode 100644 index 0000000..320ad17 --- /dev/null +++ b/.import/add_button_hovered.png-d96cc281641bcae1fc068be7f9a78f75.md5 @@ -0,0 +1,3 @@ +source_md5="646f270783ecf83a085a8b426fb0e9cf" +dest_md5="276e8a115a6e5f0985e7c0e128f64923" + diff --git a/.import/add_button_hovered.png-d96cc281641bcae1fc068be7f9a78f75.stex b/.import/add_button_hovered.png-d96cc281641bcae1fc068be7f9a78f75.stex new file mode 100644 index 0000000..feaaac4 Binary files /dev/null and b/.import/add_button_hovered.png-d96cc281641bcae1fc068be7f9a78f75.stex differ diff --git a/.import/add_button_normal.png-7610a20d621a1599612f2d10ba19a66e.md5 b/.import/add_button_normal.png-7610a20d621a1599612f2d10ba19a66e.md5 new file mode 100644 index 0000000..76a54a5 --- /dev/null +++ b/.import/add_button_normal.png-7610a20d621a1599612f2d10ba19a66e.md5 @@ -0,0 +1,3 @@ +source_md5="b4d0293b5eabe3095cd2ea42f46e4cf9" +dest_md5="9513a4f65d3bb1e798b742c3982bfb60" + diff --git a/.import/add_button_normal.png-7610a20d621a1599612f2d10ba19a66e.stex b/.import/add_button_normal.png-7610a20d621a1599612f2d10ba19a66e.stex new file mode 100644 index 0000000..6195956 Binary files /dev/null and b/.import/add_button_normal.png-7610a20d621a1599612f2d10ba19a66e.stex differ diff --git a/.import/add_button_pressed.png-21b54c26cf6425256cdf8732d7c7e54c.md5 b/.import/add_button_pressed.png-21b54c26cf6425256cdf8732d7c7e54c.md5 new file mode 100644 index 0000000..eb271a8 --- /dev/null +++ b/.import/add_button_pressed.png-21b54c26cf6425256cdf8732d7c7e54c.md5 @@ -0,0 +1,3 @@ +source_md5="b3a6590c0e666c8d942e688d308f4fa2" +dest_md5="0990c93510b803afecad3919336da102" + diff --git a/.import/add_button_pressed.png-21b54c26cf6425256cdf8732d7c7e54c.stex b/.import/add_button_pressed.png-21b54c26cf6425256cdf8732d7c7e54c.stex new file mode 100644 index 0000000..5263a84 Binary files /dev/null and b/.import/add_button_pressed.png-21b54c26cf6425256cdf8732d7c7e54c.stex differ diff --git a/.import/bubble.png-4f609f28c2c064c69f714259f156e4b9.md5 b/.import/bubble.png-4f609f28c2c064c69f714259f156e4b9.md5 new file mode 100644 index 0000000..53bb86a --- /dev/null +++ b/.import/bubble.png-4f609f28c2c064c69f714259f156e4b9.md5 @@ -0,0 +1,3 @@ +source_md5="879575973d60584e81e21b31f2060110" +dest_md5="e02769059f24e9c5576b7552dc6efb67" + diff --git a/.import/bubble.png-4f609f28c2c064c69f714259f156e4b9.stex b/.import/bubble.png-4f609f28c2c064c69f714259f156e4b9.stex new file mode 100644 index 0000000..ee96d66 Binary files /dev/null and b/.import/bubble.png-4f609f28c2c064c69f714259f156e4b9.stex differ diff --git a/.import/bubble_by_current.png-a4a635a6733fc7d17bda16cb5b20b983.md5 b/.import/bubble_by_current.png-a4a635a6733fc7d17bda16cb5b20b983.md5 new file mode 100644 index 0000000..a4f34e4 --- /dev/null +++ b/.import/bubble_by_current.png-a4a635a6733fc7d17bda16cb5b20b983.md5 @@ -0,0 +1,3 @@ +source_md5="99869ec16c048d160a913b764ed0b82c" +dest_md5="3dd0fb4e9c48d36f33fed3c01a70ce10" + diff --git a/.import/bubble_by_current.png-a4a635a6733fc7d17bda16cb5b20b983.stex b/.import/bubble_by_current.png-a4a635a6733fc7d17bda16cb5b20b983.stex new file mode 100644 index 0000000..9f328c1 Binary files /dev/null and b/.import/bubble_by_current.png-a4a635a6733fc7d17bda16cb5b20b983.stex differ diff --git a/.import/bubble_by_inactive.png-b64f748e2d000aeb31ceb2a393f981b0.md5 b/.import/bubble_by_inactive.png-b64f748e2d000aeb31ceb2a393f981b0.md5 new file mode 100644 index 0000000..da9263c --- /dev/null +++ b/.import/bubble_by_inactive.png-b64f748e2d000aeb31ceb2a393f981b0.md5 @@ -0,0 +1,3 @@ +source_md5="13b33abcfd7fcdb382be2f8cc5241b90" +dest_md5="d1879bc9fb29bfc2a49b5b453907b1b3" + diff --git a/.import/bubble_by_inactive.png-b64f748e2d000aeb31ceb2a393f981b0.stex b/.import/bubble_by_inactive.png-b64f748e2d000aeb31ceb2a393f981b0.stex new file mode 100644 index 0000000..f42c387 Binary files /dev/null and b/.import/bubble_by_inactive.png-b64f748e2d000aeb31ceb2a393f981b0.stex differ diff --git a/.import/call0.png-bd301461443cfb2159f3203b22d64513.md5 b/.import/call0.png-bd301461443cfb2159f3203b22d64513.md5 new file mode 100644 index 0000000..4d0aa47 --- /dev/null +++ b/.import/call0.png-bd301461443cfb2159f3203b22d64513.md5 @@ -0,0 +1,3 @@ +source_md5="c2f8ee7e4013f01b8975066b1777efc3" +dest_md5="e6cfd3bf61f70ebbea21b68a617a8ea3" + diff --git a/.import/call0.png-bd301461443cfb2159f3203b22d64513.stex b/.import/call0.png-bd301461443cfb2159f3203b22d64513.stex new file mode 100644 index 0000000..73749d0 Binary files /dev/null and b/.import/call0.png-bd301461443cfb2159f3203b22d64513.stex differ diff --git a/.import/call01.png-6a8d3bd7cabe8fc7da1d3078de113ba3.md5 b/.import/call01.png-6a8d3bd7cabe8fc7da1d3078de113ba3.md5 new file mode 100644 index 0000000..5cee7dc --- /dev/null +++ b/.import/call01.png-6a8d3bd7cabe8fc7da1d3078de113ba3.md5 @@ -0,0 +1,3 @@ +source_md5="986d1626ecf7c000ffc9a56f80b2df64" +dest_md5="62bc505c9ab152918cacabee23655e14" + diff --git a/.import/call01.png-6a8d3bd7cabe8fc7da1d3078de113ba3.stex b/.import/call01.png-6a8d3bd7cabe8fc7da1d3078de113ba3.stex new file mode 100644 index 0000000..14892d4 Binary files /dev/null and b/.import/call01.png-6a8d3bd7cabe8fc7da1d3078de113ba3.stex differ diff --git a/.import/call1.png-6cb5273ff894162c8dc068ddac753817.md5 b/.import/call1.png-6cb5273ff894162c8dc068ddac753817.md5 new file mode 100644 index 0000000..5f21338 --- /dev/null +++ b/.import/call1.png-6cb5273ff894162c8dc068ddac753817.md5 @@ -0,0 +1,3 @@ +source_md5="11112eaa7cf69b157d1f7c8f2ce01bab" +dest_md5="8870411b528c6ffb49de9f8db6854cb5" + diff --git a/.import/call1.png-6cb5273ff894162c8dc068ddac753817.stex b/.import/call1.png-6cb5273ff894162c8dc068ddac753817.stex new file mode 100644 index 0000000..eeee60c Binary files /dev/null and b/.import/call1.png-6cb5273ff894162c8dc068ddac753817.stex differ diff --git a/.import/emb.png-15b5f2ba8092793d40606e10ddccb660.md5 b/.import/emb.png-15b5f2ba8092793d40606e10ddccb660.md5 new file mode 100644 index 0000000..0581693 --- /dev/null +++ b/.import/emb.png-15b5f2ba8092793d40606e10ddccb660.md5 @@ -0,0 +1,3 @@ +source_md5="d818096e3b09ea2efe21b8c570a7edad" +dest_md5="f3c4b8f0065b5357b5314ece0a6e1562" + diff --git a/.import/emb.png-15b5f2ba8092793d40606e10ddccb660.stex b/.import/emb.png-15b5f2ba8092793d40606e10ddccb660.stex new file mode 100644 index 0000000..58ff7be Binary files /dev/null and b/.import/emb.png-15b5f2ba8092793d40606e10ddccb660.stex differ diff --git a/.import/follow_up_bubble_by_current.png-4c62d77585d2f1312120c7086ff35935.md5 b/.import/follow_up_bubble_by_current.png-4c62d77585d2f1312120c7086ff35935.md5 new file mode 100644 index 0000000..cba2091 --- /dev/null +++ b/.import/follow_up_bubble_by_current.png-4c62d77585d2f1312120c7086ff35935.md5 @@ -0,0 +1,3 @@ +source_md5="aace56fdaf060d8ad806d6acffdaf398" +dest_md5="757b165757491783bb3824a9491427aa" + diff --git a/.import/follow_up_bubble_by_current.png-4c62d77585d2f1312120c7086ff35935.stex b/.import/follow_up_bubble_by_current.png-4c62d77585d2f1312120c7086ff35935.stex new file mode 100644 index 0000000..c624cd3 Binary files /dev/null and b/.import/follow_up_bubble_by_current.png-4c62d77585d2f1312120c7086ff35935.stex differ diff --git a/.import/follow_up_bubble_by_inactive.png-304f23af3fc1b34e299f422e1ccd6647.md5 b/.import/follow_up_bubble_by_inactive.png-304f23af3fc1b34e299f422e1ccd6647.md5 new file mode 100644 index 0000000..76cdf7b --- /dev/null +++ b/.import/follow_up_bubble_by_inactive.png-304f23af3fc1b34e299f422e1ccd6647.md5 @@ -0,0 +1,3 @@ +source_md5="cde40aca55b9fdb487c95290baec1db9" +dest_md5="d9eda3d71265b4d019c6347fe1dc2111" + diff --git a/.import/follow_up_bubble_by_inactive.png-304f23af3fc1b34e299f422e1ccd6647.stex b/.import/follow_up_bubble_by_inactive.png-304f23af3fc1b34e299f422e1ccd6647.stex new file mode 100644 index 0000000..fb0c3ca Binary files /dev/null and b/.import/follow_up_bubble_by_inactive.png-304f23af3fc1b34e299f422e1ccd6647.stex differ diff --git a/.import/helper_user_profile_image.jpg-05ffe1aae0930c8319f064319d90f030.md5 b/.import/helper_user_profile_image.jpg-05ffe1aae0930c8319f064319d90f030.md5 new file mode 100644 index 0000000..c207653 --- /dev/null +++ b/.import/helper_user_profile_image.jpg-05ffe1aae0930c8319f064319d90f030.md5 @@ -0,0 +1,3 @@ +source_md5="88fd1903a3d90118752b89b4e08d2b4a" +dest_md5="160e816cf9c2256e40dac87d5280bf60" + diff --git a/.import/helper_user_profile_image.jpg-05ffe1aae0930c8319f064319d90f030.stex b/.import/helper_user_profile_image.jpg-05ffe1aae0930c8319f064319d90f030.stex new file mode 100644 index 0000000..e69bd5a Binary files /dev/null and b/.import/helper_user_profile_image.jpg-05ffe1aae0930c8319f064319d90f030.stex differ diff --git a/.import/hime.png-3859ec6e8920d1924f20ea8c659a69d3.md5 b/.import/hime.png-3859ec6e8920d1924f20ea8c659a69d3.md5 new file mode 100644 index 0000000..1f2bfe8 --- /dev/null +++ b/.import/hime.png-3859ec6e8920d1924f20ea8c659a69d3.md5 @@ -0,0 +1,3 @@ +source_md5="83094fe680afb95e3ef547fba8ed20ac" +dest_md5="6b45f6ae8a80e3b55c421dc8af7a5223" + diff --git a/.import/hime.png-3859ec6e8920d1924f20ea8c659a69d3.stex b/.import/hime.png-3859ec6e8920d1924f20ea8c659a69d3.stex new file mode 100644 index 0000000..f8c0416 Binary files /dev/null and b/.import/hime.png-3859ec6e8920d1924f20ea8c659a69d3.stex differ diff --git a/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 new file mode 100644 index 0000000..7b55c14 --- /dev/null +++ b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 @@ -0,0 +1,3 @@ +source_md5="e5d3288a900b6d4421e9d3937d08ab5e" +dest_md5="cc45eda6d302c77d5e7d876bb1d30a13" + diff --git a/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex new file mode 100644 index 0000000..0632608 Binary files /dev/null and b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex differ diff --git a/.import/iee.png-2ace60c60bc9444db96f8335a0a42fd8.md5 b/.import/iee.png-2ace60c60bc9444db96f8335a0a42fd8.md5 new file mode 100644 index 0000000..f95855d --- /dev/null +++ b/.import/iee.png-2ace60c60bc9444db96f8335a0a42fd8.md5 @@ -0,0 +1,3 @@ +source_md5="32a1b014ad4cde8956c2e44802f75c9e" +dest_md5="9fc64f8a0b81ed6bb90eee7e229797e3" + diff --git a/.import/iee.png-2ace60c60bc9444db96f8335a0a42fd8.stex b/.import/iee.png-2ace60c60bc9444db96f8335a0a42fd8.stex new file mode 100644 index 0000000..b01dbe2 Binary files /dev/null and b/.import/iee.png-2ace60c60bc9444db96f8335a0a42fd8.stex differ diff --git a/.import/message_denied.wav-b540b71974fee01218dbebcfe6b244a6.md5 b/.import/message_denied.wav-b540b71974fee01218dbebcfe6b244a6.md5 new file mode 100644 index 0000000..ef5d88b --- /dev/null +++ b/.import/message_denied.wav-b540b71974fee01218dbebcfe6b244a6.md5 @@ -0,0 +1,3 @@ +source_md5="427888e7a483b00e3a948e8d13c9bb4d" +dest_md5="1228c88a5a6cf8d065d1bbb9b6b7e1ad" + diff --git a/.import/message_denied.wav-b540b71974fee01218dbebcfe6b244a6.sample b/.import/message_denied.wav-b540b71974fee01218dbebcfe6b244a6.sample new file mode 100644 index 0000000..c1652fe Binary files /dev/null and b/.import/message_denied.wav-b540b71974fee01218dbebcfe6b244a6.sample differ diff --git a/.import/message_inserted.wav-5747e70b3abde0fbe2826eea6bf09096.md5 b/.import/message_inserted.wav-5747e70b3abde0fbe2826eea6bf09096.md5 new file mode 100644 index 0000000..2a3efc9 --- /dev/null +++ b/.import/message_inserted.wav-5747e70b3abde0fbe2826eea6bf09096.md5 @@ -0,0 +1,3 @@ +source_md5="8a2523134958f934e46297ea2a697e1e" +dest_md5="b31c9ec7e789f0ce100d338400bc6c38" + diff --git a/.import/message_inserted.wav-5747e70b3abde0fbe2826eea6bf09096.sample b/.import/message_inserted.wav-5747e70b3abde0fbe2826eea6bf09096.sample new file mode 100644 index 0000000..a1f1007 Binary files /dev/null and b/.import/message_inserted.wav-5747e70b3abde0fbe2826eea6bf09096.sample differ diff --git a/.import/note.png-efb60329feae1162eb5809ba1529a3d3.md5 b/.import/note.png-efb60329feae1162eb5809ba1529a3d3.md5 new file mode 100644 index 0000000..cf1ec0c --- /dev/null +++ b/.import/note.png-efb60329feae1162eb5809ba1529a3d3.md5 @@ -0,0 +1,3 @@ +source_md5="b891777939b10e39f5b113eef604d834" +dest_md5="12f350577900d444c4a5484671df1ec7" + diff --git a/.import/note.png-efb60329feae1162eb5809ba1529a3d3.stex b/.import/note.png-efb60329feae1162eb5809ba1529a3d3.stex new file mode 100644 index 0000000..196c1f4 Binary files /dev/null and b/.import/note.png-efb60329feae1162eb5809ba1529a3d3.stex differ diff --git a/.import/off.png-9e318488e74f0027d75f0bc130ff17e4.md5 b/.import/off.png-9e318488e74f0027d75f0bc130ff17e4.md5 new file mode 100644 index 0000000..738f333 --- /dev/null +++ b/.import/off.png-9e318488e74f0027d75f0bc130ff17e4.md5 @@ -0,0 +1,3 @@ +source_md5="7ac917032afeec8a7824e5472cf13638" +dest_md5="6930cf1e3a1ddce048f1fc4dc82e656d" + diff --git a/.import/off.png-9e318488e74f0027d75f0bc130ff17e4.stex b/.import/off.png-9e318488e74f0027d75f0bc130ff17e4.stex new file mode 100644 index 0000000..aeabc80 Binary files /dev/null and b/.import/off.png-9e318488e74f0027d75f0bc130ff17e4.stex differ diff --git a/.import/on.png-30e09c905166ec12e325b6897eba5eab.md5 b/.import/on.png-30e09c905166ec12e325b6897eba5eab.md5 new file mode 100644 index 0000000..0b676e7 --- /dev/null +++ b/.import/on.png-30e09c905166ec12e325b6897eba5eab.md5 @@ -0,0 +1,3 @@ +source_md5="6a0879affdd3ff3272b40d2b876c493a" +dest_md5="786aedb5f9921c46dec8adf5d5d80443" + diff --git a/.import/on.png-30e09c905166ec12e325b6897eba5eab.stex b/.import/on.png-30e09c905166ec12e325b6897eba5eab.stex new file mode 100644 index 0000000..18a8c2b Binary files /dev/null and b/.import/on.png-30e09c905166ec12e325b6897eba5eab.stex differ diff --git a/.import/ping.wav-f50f49c78cdede9aeaa6d25c0d968e0c.md5 b/.import/ping.wav-f50f49c78cdede9aeaa6d25c0d968e0c.md5 new file mode 100644 index 0000000..352fe0e --- /dev/null +++ b/.import/ping.wav-f50f49c78cdede9aeaa6d25c0d968e0c.md5 @@ -0,0 +1,3 @@ +source_md5="56b1c187b72a468cf14cf1a6102bca1b" +dest_md5="77be94894ee06b10d683d853b9b3fa78" + diff --git a/.import/ping.wav-f50f49c78cdede9aeaa6d25c0d968e0c.sample b/.import/ping.wav-f50f49c78cdede9aeaa6d25c0d968e0c.sample new file mode 100644 index 0000000..e603c63 Binary files /dev/null and b/.import/ping.wav-f50f49c78cdede9aeaa6d25c0d968e0c.sample differ diff --git a/.import/plus0.png-5b08f8ec4468b765a90486e3bd698ea3.md5 b/.import/plus0.png-5b08f8ec4468b765a90486e3bd698ea3.md5 new file mode 100644 index 0000000..6de66c9 --- /dev/null +++ b/.import/plus0.png-5b08f8ec4468b765a90486e3bd698ea3.md5 @@ -0,0 +1,3 @@ +source_md5="3e46c68a686c87959e97519c25a35e46" +dest_md5="c25d3e0fc261f6ed19218d9c837850f4" + diff --git a/.import/plus0.png-5b08f8ec4468b765a90486e3bd698ea3.stex b/.import/plus0.png-5b08f8ec4468b765a90486e3bd698ea3.stex new file mode 100644 index 0000000..af8a9d2 Binary files /dev/null and b/.import/plus0.png-5b08f8ec4468b765a90486e3bd698ea3.stex differ diff --git a/.import/primary_user_profile_image.png-65acd669e54a91c7a80c286798601426.md5 b/.import/primary_user_profile_image.png-65acd669e54a91c7a80c286798601426.md5 new file mode 100644 index 0000000..64cbd4b --- /dev/null +++ b/.import/primary_user_profile_image.png-65acd669e54a91c7a80c286798601426.md5 @@ -0,0 +1,3 @@ +source_md5="f87a5b97cfcc8d33ad6da1278fccb2d2" +dest_md5="13089c6bb347888f4b6c33170b30ff82" + diff --git a/.import/primary_user_profile_image.png-65acd669e54a91c7a80c286798601426.stex b/.import/primary_user_profile_image.png-65acd669e54a91c7a80c286798601426.stex new file mode 100644 index 0000000..1f112e8 Binary files /dev/null and b/.import/primary_user_profile_image.png-65acd669e54a91c7a80c286798601426.stex differ diff --git a/.import/profile_image_rect_mask.png-db03cd01e096622e62acb2146ceb8303.md5 b/.import/profile_image_rect_mask.png-db03cd01e096622e62acb2146ceb8303.md5 new file mode 100644 index 0000000..1328594 --- /dev/null +++ b/.import/profile_image_rect_mask.png-db03cd01e096622e62acb2146ceb8303.md5 @@ -0,0 +1,3 @@ +source_md5="ceec25b08b0d0ebb65b34989f2ac10b2" +dest_md5="34ea352b537e79967ccf8d818710414f" + diff --git a/.import/profile_image_rect_mask.png-db03cd01e096622e62acb2146ceb8303.stex b/.import/profile_image_rect_mask.png-db03cd01e096622e62acb2146ceb8303.stex new file mode 100644 index 0000000..9250a8e Binary files /dev/null and b/.import/profile_image_rect_mask.png-db03cd01e096622e62acb2146ceb8303.stex differ diff --git a/.import/stronk.png-84390bd08630eef7a8687f8b906bc8cb.md5 b/.import/stronk.png-84390bd08630eef7a8687f8b906bc8cb.md5 new file mode 100644 index 0000000..faaa9c6 --- /dev/null +++ b/.import/stronk.png-84390bd08630eef7a8687f8b906bc8cb.md5 @@ -0,0 +1,3 @@ +source_md5="54e75b5a12f8fa52282f83a1809fce6b" +dest_md5="b16dcd23cf359bc098e0552c775a70c0" + diff --git a/.import/stronk.png-84390bd08630eef7a8687f8b906bc8cb.stex b/.import/stronk.png-84390bd08630eef7a8687f8b906bc8cb.stex new file mode 100644 index 0000000..da98c06 Binary files /dev/null and b/.import/stronk.png-84390bd08630eef7a8687f8b906bc8cb.stex differ diff --git a/.import/sweat.png-2bb73a0e3fc2dab640bb3f479d92a16a.md5 b/.import/sweat.png-2bb73a0e3fc2dab640bb3f479d92a16a.md5 new file mode 100644 index 0000000..a227d3f --- /dev/null +++ b/.import/sweat.png-2bb73a0e3fc2dab640bb3f479d92a16a.md5 @@ -0,0 +1,3 @@ +source_md5="da0a840df29fc886de0813fce80b8b97" +dest_md5="53c81ab36d864c34b5e9a4905f2500f1" + diff --git a/.import/sweat.png-2bb73a0e3fc2dab640bb3f479d92a16a.stex b/.import/sweat.png-2bb73a0e3fc2dab640bb3f479d92a16a.stex new file mode 100644 index 0000000..2330117 Binary files /dev/null and b/.import/sweat.png-2bb73a0e3fc2dab640bb3f479d92a16a.stex differ diff --git a/configuration/helper_user.tres b/configuration/helper_user.tres index d92e5e9..281ad6d 100644 --- a/configuration/helper_user.tres +++ b/configuration/helper_user.tres @@ -15,6 +15,7 @@ others_message_color = Color( 0.294118, 0.168627, 0.34902, 1 ) scroll_bar_color = Color( 0.372549, 0.137255, 0.286275, 1 ) scroll_bar_highlight_color = Color( 0.760784, 0.34902, 0.964706, 1 ) scroll_bar_pressed_color = Color( 1, 0.631373, 0.701961, 1 ) -casual_topic_color = Color( 0.380392, 0.152941, 0.27451, 1 ) -daily_topic_color = Color( 0.294118, 0.168627, 0.34902, 1 ) +casual_topic_color = Color( 0.415686, 0.168627, 0.298039, 1 ) +daily_topic_color = Color( 0.341176, 0.168627, 0.337255, 1 ) urgent_topic_color = Color( 0.352941, 0.129412, 0.243137, 1 ) +add_topic_button_color = Color( 0.745098, 0.301961, 0.521569, 1 ) diff --git a/configuration/primary_user.tres b/configuration/primary_user.tres index 03c2ee5..16825b5 100644 --- a/configuration/primary_user.tres +++ b/configuration/primary_user.tres @@ -18,3 +18,4 @@ scroll_bar_pressed_color = Color( 0.396078, 0.435294, 0.447059, 1 ) casual_topic_color = Color( 0.14902, 0.172549, 0.203922, 1 ) daily_topic_color = Color( 0.0980392, 0.180392, 0.305882, 1 ) urgent_topic_color = Color( 0.290196, 0.152941, 0.203922, 1 ) +add_topic_button_color = Color( 0.258824, 0.290196, 0.345098, 1 ) diff --git a/system/data/data_singleton.gd b/system/data/data_singleton.gd index 500694f..ccc9968 100644 --- a/system/data/data_singleton.gd +++ b/system/data/data_singleton.gd @@ -9,7 +9,7 @@ func _ready(): topics = TopicData.new() var autosave_timer = Timer.new() - autosave_timer.wait_time = 600.0 # Every ten minutes. + autosave_timer.wait_time = 6.0 # Every ten minutes. autosave_timer.autostart = true autosave_timer.connect("timeout", self, "_save_data") add_child(autosave_timer) diff --git a/system/data/topic_data/topic.gd b/system/data/topic_data/topic.gd index 37d7aa0..c4336cb 100644 --- a/system/data/topic_data/topic.gd +++ b/system/data/topic_data/topic.gd @@ -10,12 +10,20 @@ const TOPIC_NODE = preload("res://user_interface/topic_panel/topic_node.tscn") var associated_node: Control var content: String -var type: int +var type: int = TYPE_CASUAL + + +func change_type(new_type: int): + type = new_type + associated_node.type = new_type + associated_node._adjust_appearance_to_user() + Data.topics.dirty_flag = true func delete(): Data.topics.loaded_topics.erase(self) associated_node.parent.queue_free() + Data.topics.dirty_flag = true # Used by the TopicFeed, to spawn topic nodes. diff --git a/system/data/topic_data/topic_data_singleton.gd b/system/data/topic_data/topic_data_singleton.gd index cc0788a..d5cc4fe 100644 --- a/system/data/topic_data/topic_data_singleton.gd +++ b/system/data/topic_data/topic_data_singleton.gd @@ -2,7 +2,7 @@ extends Node class_name TopicData -signal topic_added(topic) +signal topic_added(topic, position) var dirty_flag = false var loaded_topics = [] @@ -10,11 +10,18 @@ var loaded_topics = [] func add_topic(position: int): var topic = Topic.new() - topic.type = position # Delete this line later. loaded_topics.append(topic) + dirty_flag = true - # TODO: Make it possible to vary in position in the array!! - emit_signal("topic_added", topic) + emit_signal("topic_added", topic, position) + + +func sort_topics(): + loaded_topics.sort_custom(self, "_compare_topic_index") + + +func _compare_topic_index(a, b): + return a.associated_node.parent.get_index() < b.associated_node.parent.get_index() func load_data(): @@ -24,6 +31,7 @@ func load_data(): func save_data(): if dirty_flag: + sort_topics() # Important before saving, to remain the order. # TODO: Save data. pass diff --git a/system/users/user.gd b/system/users/user.gd index 751017a..1a2b409 100644 --- a/system/users/user.gd +++ b/system/users/user.gd @@ -15,6 +15,7 @@ export(Color) var scroll_bar_pressed_color export(Color) var casual_topic_color export(Color) var daily_topic_color export(Color) var urgent_topic_color +export(Color) var add_topic_button_color var message_box_content: String = "" diff --git a/user_interface/tool_bar/tool_bar.tscn b/user_interface/tool_bar/tool_bar.tscn index 178fca0..55681e9 100644 --- a/user_interface/tool_bar/tool_bar.tscn +++ b/user_interface/tool_bar/tool_bar.tscn @@ -44,6 +44,9 @@ margin_bottom = 472.0 rect_min_size = Vector2( 0, 60 ) theme = ExtResource( 1 ) script = ExtResource( 6 ) +__meta__ = { +"_edit_use_anchors_": false +} [node name="Margin" type="MarginContainer" parent="."] margin_right = 328.0 @@ -67,17 +70,10 @@ size_flags_vertical = 3 size_flags_stretch_ratio = 4.0 custom_constants/separation = 10 -[node name="ProfileImageRect" type="TextureRect" parent="Margin/Structure/Profile" instance=ExtResource( 3 )] +[node name="ProfileImageRect" parent="Margin/Structure/Profile" instance=ExtResource( 3 )] material = SubResource( 2 ) margin_right = 48.0 margin_bottom = 48.0 -rect_min_size = Vector2( 48, 48 ) -texture = ExtResource( 2 ) -expand = true -stretch_mode = 1 -__meta__ = { -"_edit_use_anchors_": false -} [node name="UserTexts" type="VBoxContainer" parent="Margin/Structure/Profile"] margin_left = 58.0 diff --git a/user_interface/topic_panel/add_button.gd b/user_interface/topic_panel/add_button.gd new file mode 100644 index 0000000..a35167b --- /dev/null +++ b/user_interface/topic_panel/add_button.gd @@ -0,0 +1,19 @@ +extends TextureButton + + +onready var scroll_container = get_node("../..") + + +func _ready(): +# warning-ignore:return_value_discarded + Users.connect("switched", self, "_on_user_switched") + + +func _on_user_switched(): + self_modulate = Users.get_current().add_topic_button_color + + +func _on_pressed(): + Data.topics.add_topic(get_index()) + yield(get_tree(), "idle_frame") + scroll_container.scroll_vertical += 64 diff --git a/user_interface/topic_panel/add_button.tscn b/user_interface/topic_panel/add_button.tscn new file mode 100644 index 0000000..5e35b59 --- /dev/null +++ b/user_interface/topic_panel/add_button.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://user_interface/topic_panel/add_button_normal.png" type="Texture" id=1] +[ext_resource path="res://user_interface/topic_panel/add_button_hover.png" type="Texture" id=2] +[ext_resource path="res://user_interface/topic_panel/add_button_pressed.png" type="Texture" id=3] +[ext_resource path="res://user_interface/topic_panel/add_button.gd" type="Script" id=4] + +[node name="AddButton" type="TextureButton"] +rect_min_size = Vector2( 0, 56 ) +size_flags_horizontal = 3 +texture_normal = ExtResource( 1 ) +texture_pressed = ExtResource( 3 ) +texture_hover = ExtResource( 2 ) +expand = true +script = ExtResource( 4 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[connection signal="pressed" from="." to="." method="_on_pressed"] diff --git a/user_interface/topic_panel/add_button_hover.png b/user_interface/topic_panel/add_button_hover.png new file mode 100644 index 0000000..fd25d47 Binary files /dev/null and b/user_interface/topic_panel/add_button_hover.png differ diff --git a/user_interface/topic_panel/add_button_hover.png.import b/user_interface/topic_panel/add_button_hover.png.import new file mode 100644 index 0000000..92290e2 --- /dev/null +++ b/user_interface/topic_panel/add_button_hover.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add_button_hover.png-cdbe778a322e171ee118ec3db1548d1c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://user_interface/topic_panel/add_button_hover.png" +dest_files=[ "res://.import/add_button_hover.png-cdbe778a322e171ee118ec3db1548d1c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/user_interface/topic_panel/add_button_normal.png b/user_interface/topic_panel/add_button_normal.png new file mode 100644 index 0000000..1fb712a Binary files /dev/null and b/user_interface/topic_panel/add_button_normal.png differ diff --git a/user_interface/topic_panel/add_button_normal.png.import b/user_interface/topic_panel/add_button_normal.png.import new file mode 100644 index 0000000..b068be0 --- /dev/null +++ b/user_interface/topic_panel/add_button_normal.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add_button_normal.png-7610a20d621a1599612f2d10ba19a66e.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://user_interface/topic_panel/add_button_normal.png" +dest_files=[ "res://.import/add_button_normal.png-7610a20d621a1599612f2d10ba19a66e.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/user_interface/topic_panel/add_button_pressed.png b/user_interface/topic_panel/add_button_pressed.png new file mode 100644 index 0000000..e773032 Binary files /dev/null and b/user_interface/topic_panel/add_button_pressed.png differ diff --git a/user_interface/topic_panel/add_button_pressed.png.import b/user_interface/topic_panel/add_button_pressed.png.import new file mode 100644 index 0000000..e7d77ed --- /dev/null +++ b/user_interface/topic_panel/add_button_pressed.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/add_button_pressed.png-21b54c26cf6425256cdf8732d7c7e54c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://user_interface/topic_panel/add_button_pressed.png" +dest_files=[ "res://.import/add_button_pressed.png-21b54c26cf6425256cdf8732d7c7e54c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/user_interface/topic_panel/topic_draggable.gd b/user_interface/topic_panel/topic_draggable.gd index fd736e3..76da79b 100644 --- a/user_interface/topic_panel/topic_draggable.gd +++ b/user_interface/topic_panel/topic_draggable.gd @@ -1,6 +1,7 @@ extends Container class_name TopicDraggable +const SCROLL_SPEED = 25.0 onready var topic_feed: VBoxContainer = get_node("..") onready var scroll_container: ScrollContainer = get_node("../..") @@ -9,44 +10,67 @@ onready var editable = get_node("TopicEditable") onready var tween = get_node("Tween") var global_position setget _set_global_position +var local_position setget _set_local_position var _in_fit_in_animation = false -var _previous_position +var _previous_global_position +var _previous_scroll var _offset +var _something_passed = false func _ready(): pass +func _gui_input(event): + if event is InputEventMouseButton and event.button_index == BUTTON_LEFT: + if event.is_pressed(): + if event.shift: + topic_feed._toggle_selection_result = _set_selection(null) + topic_feed._shift_hold = true + else: + _deselect_all() + if not editable.edit_mode: + if event.doubleclick: + editable._enable_edit_mode() + editable.text_edit.grab_focus() + yield(get_tree(), "idle_frame") + editable.text_edit.select_all() + elif !_in_fit_in_animation: + _set_as_grabbed() + + func _input(event): if event is InputEventMouseButton and event.button_index == BUTTON_LEFT: if event.is_pressed(): - if _is_mouse_on_control(): - if event.shift: - topic_feed._toggle_selection_result = _set_selection(null) - topic_feed._shift_hold = true - else: - _deselect_all() - if not editable.edit_mode: - if event.doubleclick: - editable._enable_edit_mode() - editable.text_edit.grab_focus() - editable.text_edit.select_all() - elif !_in_fit_in_animation: - _set_as_grabbed() - elif editable.edit_mode: + if !_is_mouse_on_topic() and editable.edit_mode: editable.text_edit._confirm() else: - _fit_in_animation() + if _is_grabbed(): + _fit_in_animation() topic_feed._shift_hold = false if event is InputEventMouseMotion: - if topic_feed.currently_grabbed_topic == self: + if _is_grabbed(): _move_block(event) topic_feed.check_all_passings() - if topic_feed._shift_hold and _is_mouse_on_control(): + if topic_feed._shift_hold and _is_mouse_on_topic(): # warning-ignore:return_value_discarded _set_selection(topic_feed._toggle_selection_result) + + if event is InputEventMouseButton: + if _is_grabbed(): + var scroll_value = 0.0 + + if event.button_index == BUTTON_WHEEL_UP: + scroll_value = -SCROLL_SPEED + elif event.button_index == BUTTON_WHEEL_DOWN: + scroll_value = SCROLL_SPEED + + if scroll_value != 0.0: + scroll_container.scroll_vertical += scroll_value + _previous_scroll = scroll_container.scroll_vertical + topic_feed.check_all_passings() func _set_selection(to) -> bool: @@ -72,23 +96,52 @@ func _set_as_grabbed(): var rect = editable.get_global_rect() rect_min_size.y = editable.rect_size.y editable.set_as_toplevel(true) + editable.mouse_filter = MOUSE_FILTER_IGNORE editable.rect_position = rect.position topic_feed.currently_grabbed_topic = self - _previous_position = editable.rect_global_position + _previous_global_position = editable.rect_global_position + _previous_scroll = scroll_container.scroll_vertical _offset = 0 + _move_block(InputEventMouseMotion.new()) func _fit_in_animation(): _in_fit_in_animation = true topic_feed.currently_grabbed_topic = null + + var overhead = _topic_overhead(rect_global_position.y) + + var from = editable.rect_global_position + var to + + if overhead > 0.0: + var sc_rect = scroll_container.get_global_rect() + to = Vector2( + sc_rect.position.x, + sc_rect.end.y - rect_size.y + ) + elif overhead < 0.0: + to = scroll_container.rect_global_position + else: + to = rect_global_position - Vector2(0.0, overhead) + tween.stop_all() tween.interpolate_property(self, "global_position", - editable.rect_global_position, rect_global_position, + from, to, 0.12, Tween.TRANS_LINEAR, Tween.EASE_IN_OUT ) + + if overhead != 0.0: + tween.interpolate_property(scroll_container, "scroll_vertical", + scroll_container.scroll_vertical, scroll_container.scroll_vertical + overhead, + 0.12, Tween.TRANS_LINEAR, Tween.EASE_IN_OUT + ) + tween.start() + yield(tween, "tween_completed") editable.set_as_toplevel(false) + editable.mouse_filter = MOUSE_FILTER_PASS rect_min_size.y = 0 editable.rect_position = Vector2.ZERO _in_fit_in_animation = false @@ -96,15 +149,52 @@ func _fit_in_animation(): func _move_block(event): _offset += event.relative.y - editable.set_global_position(_previous_position + Vector2(0.0, _offset)) + + var virtual_position = _previous_global_position + Vector2(0.0, _offset) + var overhead = _topic_overhead(virtual_position.y) + + virtual_position.y -= overhead + + if get_index() == topic_feed.get_child_count() - 2: + if virtual_position.y > rect_global_position.y: + virtual_position.y = rect_global_position.y + + _set_global_position(virtual_position) + scroll_container.scroll_vertical = _previous_scroll + overhead -func _is_mouse_on_control() -> bool: - return get_global_rect().has_point(get_viewport().get_mouse_position()) +# How much topic is out of scroll_container bounds. +func _topic_overhead(y_pos): + var scroll_rect = scroll_container.get_global_rect() + scroll_rect.size.y -= editable.rect_size.y + var overhead = 0 + + # Higher? + if y_pos < scroll_rect.position.y: + overhead = y_pos - scroll_rect.position.y + + # Lower? + if y_pos > scroll_rect.end.y: + overhead = y_pos - scroll_rect.end.y + + return overhead + + +func _is_mouse_on_topic() -> bool: + var on_topic = get_global_rect().has_point(get_global_mouse_position()) + return _is_mouse_on_topic_feed() and on_topic + + +func _is_mouse_on_topic_feed() -> bool: + return scroll_container.get_global_rect().has_point(get_global_mouse_position()) + + +func _is_grabbed() -> bool: + return topic_feed.currently_grabbed_topic == self func set_previous_position(): - _previous_position = editable.rect_global_position + _previous_global_position = editable.rect_global_position func check_for_passing() -> bool: @@ -134,19 +224,29 @@ func check_for_passing() -> bool: topic_feed.currently_grabbed_topic, get_index() ) + _something_passed = true + Data.topics.dirty_flag = true return true return false func setup_tween(): - if _previous_position != editable.rect_global_position: + if _something_passed: + var _previous_local_position = _previous_global_position - rect_global_position + tween.stop_all() - tween.interpolate_property(self, "global_position", - _previous_position, rect_global_position, 0.15, + tween.interpolate_property(self, "local_position", + _previous_local_position, Vector2.ZERO, 0.15, Tween.TRANS_LINEAR, Tween.EASE_IN_OUT ) tween.start() + _something_passed = false + yield(tween, "tween_completed") func _set_global_position(value): editable.set_global_position(value) + + +func _set_local_position(value): + editable.rect_position = value diff --git a/user_interface/topic_panel/topic_editable.gd b/user_interface/topic_panel/topic_editable.gd index b4a96f8..807c10b 100644 --- a/user_interface/topic_panel/topic_editable.gd +++ b/user_interface/topic_panel/topic_editable.gd @@ -22,6 +22,25 @@ func _setup(): # Override. _setup_appearance() +func _setup_popup_menu_items(): # Override. + var is_selected = _is_part_of_multi_selection() + + if not is_selected: + popup_menu.add_item("Insert New", 0) + popup_menu.add_item("Edit", 1) + + popup_menu.add_separator("Change Type") + if type != TYPE_CASUAL or is_selected: + popup_menu.add_radio_check_item("Casual", 2) + if type != TYPE_DAILY or is_selected: + popup_menu.add_radio_check_item("Daily", 3) + if type != TYPE_URGENT or is_selected: + popup_menu.add_radio_check_item("Urgent", 4) + popup_menu.add_separator("") + + popup_menu.add_item("Delete", 5) + + func _adjust_appearance_to_user(): # Override. match type: TYPE_CASUAL: @@ -40,7 +59,11 @@ func _adjust_appearance_to_user(): # Override. func _update_color(): - var addition = Color(0.1, 0.12, 0.15) if _is_selected() else Color.black + var addition + if _is_selected(): + addition = Color(0.1, 0.12, 0.15) + else: + addition = Color.black nine_patch.self_modulate = color + addition @@ -51,10 +74,52 @@ func _is_selected() -> bool: return false +func _is_part_of_multi_selection() -> bool: + if get_parent().topic_feed: + return _is_selected() and parent.topic_feed.selected_topics.size() > 1 + else: + return false + + func _delete(): - associated_topic.delete() + if _is_part_of_multi_selection(): + parent.topic_feed._delete_selected_topics() + else: + associated_topic.delete() + + +func _on_popup_menu_id_pressed(id): + match id: + 0: # Insert new Topic. + Data.topics.add_topic(parent.get_index()) + 1: # Edit. + _enable_edit_mode() + text_edit.grab_focus() + yield(get_tree(), "idle_frame") + text_edit.select_all() + 2: # Change type to CASUAL. + if _is_part_of_multi_selection(): + parent.topic_feed._change_type_of_selected_topics(TYPE_CASUAL) + else: + associated_topic.change_type(TYPE_CASUAL) + _adjust_appearance_to_user() + 3: # Change type to DAILY. + if _is_part_of_multi_selection(): + parent.topic_feed._change_type_of_selected_topics(TYPE_DAILY) + else: + associated_topic.change_type(TYPE_DAILY) + _adjust_appearance_to_user() + 4: # Change type to URGENT. + if _is_part_of_multi_selection(): + parent.topic_feed._change_type_of_selected_topics(TYPE_URGENT) + else: + associated_topic.change_type(TYPE_URGENT) + _adjust_appearance_to_user() + 5: # Delete. + _delete() func _on_text_edit_confirmed(confirmed_content): # Override associated_topic.content = confirmed_content _disable_edit_mode() + Data.topics.dirty_flag = true diff --git a/user_interface/topic_panel/topic_feed.gd b/user_interface/topic_panel/topic_feed.gd index a0b0750..c25973c 100644 --- a/user_interface/topic_panel/topic_feed.gd +++ b/user_interface/topic_panel/topic_feed.gd @@ -25,8 +25,9 @@ func _input(event): func set_all_previous_positions(): for topic in get_children(): - if topic != currently_grabbed_topic: - topic.set_previous_position() + if topic is TopicDraggable: + if topic != currently_grabbed_topic: + topic.set_previous_position() func check_all_passings(): @@ -36,9 +37,10 @@ func check_all_passings(): var did_passing_occur = false for topic in get_children(): - if topic != currently_grabbed_topic: - if topic.check_for_passing(): - did_passing_occur = true + if topic is TopicDraggable: + if topic != currently_grabbed_topic: + if topic.check_for_passing(): + did_passing_occur = true if did_passing_occur: yield(get_tree(), "idle_frame") @@ -47,21 +49,34 @@ func check_all_passings(): func setup_all_tweens(): for topic in get_children(): - if topic != currently_grabbed_topic: - topic.setup_tween() + if topic is TopicDraggable: + if topic != currently_grabbed_topic: + topic.setup_tween() func update_all_colors(): for topic in get_children(): - topic.editable._update_color() + if topic is TopicDraggable: + topic.editable._update_color() func _delete_selected_topics(): for topic in selected_topics: - topic.editable._delete() + topic.editable.associated_topic.delete() selected_topics.clear() -func _on_data_topic_added(topic): +func _change_type_of_selected_topics(type: int): + for topic in selected_topics: + topic.editable.associated_topic.change_type(type) + topic.editable._adjust_appearance_to_user() + selected_topics.clear() + update_all_colors() + + +func _on_data_topic_added(topic, position): var topic_node = topic.create_node() add_child(topic_node) + move_child(topic_node, position) + topic_node.editable._adjust_appearance_to_user() + diff --git a/user_interface/topic_panel/topic_node.tscn b/user_interface/topic_panel/topic_node.tscn index b8fdea6..7b8ac8a 100644 --- a/user_interface/topic_panel/topic_node.tscn +++ b/user_interface/topic_panel/topic_node.tscn @@ -20,6 +20,7 @@ __meta__ = { [node name="TopicEditable" parent="." instance=ExtResource( 1 )] margin_right = 32.0 margin_bottom = 171.0 +mouse_filter = 1 size_flags_horizontal = 3 script = ExtResource( 3 ) @@ -36,6 +37,7 @@ patch_margin_bottom = 12 [node name="VBoxContainer" parent="TopicEditable" index="1"] margin_right = 32.0 margin_bottom = 171.0 +mouse_filter = 2 [node name="MarginContainer" parent="TopicEditable/VBoxContainer" index="0"] margin_right = 32.0 @@ -44,6 +46,7 @@ margin_bottom = 166.0 [node name="Content" parent="TopicEditable/VBoxContainer/MarginContainer" index="0"] margin_right = 15.0 margin_bottom = 161.0 +mouse_filter = 2 [node name="ReferenceLabel" parent="TopicEditable/VBoxContainer/MarginContainer" index="1"] margin_right = 15.0 @@ -53,12 +56,14 @@ autowrap = true [node name="ContentFitTextEdit" parent="TopicEditable/VBoxContainer/MarginContainer" index="2"] margin_right = 15.0 margin_bottom = 161.0 +mouse_filter = 1 expand_width = false [node name="HBoxContainer" type="HBoxContainer" parent="TopicEditable/VBoxContainer" index="1"] margin_top = 162.0 margin_right = 32.0 margin_bottom = 171.0 +mouse_filter = 2 custom_constants/separation = 0 alignment = 2 @@ -74,6 +79,7 @@ margin_left = 24.0 margin_right = 32.0 margin_bottom = 9.0 rect_min_size = Vector2( 8, 0 ) +mouse_filter = 2 [node name="PopupMenu" parent="TopicEditable" index="2"] margin_right = 32.0 diff --git a/user_interface/topic_panel/topic_panel.gd b/user_interface/topic_panel/topic_panel.gd deleted file mode 100644 index 679fe04..0000000 --- a/user_interface/topic_panel/topic_panel.gd +++ /dev/null @@ -1,6 +0,0 @@ -extends PanelContainer - - -func _ready(): - for _i in range(30): - Data.topics.add_topic(randi() % 3) diff --git a/user_interface/topic_panel/topic_panel.tscn b/user_interface/topic_panel/topic_panel.tscn index 6558329..758a905 100644 --- a/user_interface/topic_panel/topic_panel.tscn +++ b/user_interface/topic_panel/topic_panel.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=4 format=2] [ext_resource path="res://user_interface/main.theme" type="Theme" id=1] -[ext_resource path="res://user_interface/topic_panel/topic_panel.gd" type="Script" id=2] +[ext_resource path="res://user_interface/topic_panel/add_button.tscn" type="PackedScene" id=2] [ext_resource path="res://user_interface/topic_panel/topic_feed.gd" type="Script" id=3] [node name="TopicPanel" type="PanelContainer"] @@ -9,7 +9,9 @@ margin_right = 328.0 margin_bottom = 396.0 size_flags_vertical = 3 theme = ExtResource( 1 ) -script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} [node name="MarginContainer" type="MarginContainer" parent="."] margin_right = 328.0 @@ -24,5 +26,10 @@ scroll_horizontal_enabled = false [node name="TopicFeed" type="VBoxContainer" parent="MarginContainer/ScrollContainer"] margin_right = 312.0 +margin_bottom = 56.0 size_flags_horizontal = 3 script = ExtResource( 3 ) + +[node name="AddButton" parent="MarginContainer/ScrollContainer/TopicFeed" instance=ExtResource( 2 )] +margin_right = 312.0 +margin_bottom = 56.0