{"id":51,"date":"2016-07-17T11:55:05","date_gmt":"2016-07-17T11:55:05","guid":{"rendered":"https:\/\/blogs.scummvm.org\/tkachov\/?p=51"},"modified":"2022-05-24T11:56:28","modified_gmt":"2022-05-24T11:56:28","slug":"gsoc-gui-box-and-two-wip-features","status":"publish","type":"post","link":"https:\/\/blogs.scummvm.org\/tkachov\/2016\/07\/17\/gsoc-gui-box-and-two-wip-features\/","title":{"rendered":"GSoC: GUI, Box and Two WIP Features"},"content":{"rendered":"<p>In\u00a0my\u00a0previous post I\u2019ve mentioned my\u00a0Container PR\u00a0\u2014 and voila\u00a0\u2014 it\u00a0was merged! So\u00a0the first thing I\u2019ve done this week was merging it\u00a0from upstream\u2019s master into my\u00a0cloud fork\u2019s master and using the Container in\u00a0the Cloud tab. I\u2019ve also fixed a\u00a0few TabWidget\u2019s height issues in\u00a0that a\u00a0bit later.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blogs.scummvm.org\/tkachov\/wp-content\/uploads\/sites\/60\/2022\/05\/ip.png\" \/><\/p>\n<p>Box support was added this week, so\u00a0the original plan to\u00a0add 4\u00a0cloud services is\u00a0accomplished. Box is\u00a0a\u00a0bit similar to\u00a0Google Drive, as\u00a0it\u00a0uses files ids instead of\u00a0paths. The other interesting thing about it\u00a0is\u00a0that it\u00a0has yet another approach to\u00a0file uploading, so\u00a0I had to\u00a0tune some things one more time to\u00a0support this one too.<\/p>\n<p>I\u2019m not planning to\u00a0add more cloud services yet. I\u00a0was unable to\u00a0even find out how to\u00a0work with iCloud. OwnCloud uses WebDAV instead of\u00a0OAuth2 + REST API and they are not going to\u00a0implement one. I\u2019m not sure how long will it\u00a0take to\u00a0add WebDAV support, so\u00a0I\u2019d be\u00a0working on\u00a0other things for now.<\/p>\n<p>A\u00a0few upgrades were made in\u00a0the DownloadDialog and local webserver\u2019s Files Manager. The first one now shows progress a\u00a0bit more precisely because it\u2019s calculated based on\u00a0downloaded size, not the number of\u00a0files downloaded. It\u00a0also shows the downloaded size, total size and current speed there.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blogs.scummvm.org\/tkachov\/wp-content\/uploads\/sites\/60\/2022\/05\/dd.png\" \/><\/p>\n<p>Files Manager now supports directories uploading (works in\u00a0Chrome only, as\u00a0that\u2019s the only browser where this feature is\u00a0implemented). I\u2019ve also added code which should correctly determine server\u2019s IP\u00a0on\u00a0Linux. Some minor improvements like file type icons were made:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blogs.scummvm.org\/tkachov\/wp-content\/uploads\/sites\/60\/2022\/05\/icons.png\" \/><\/p>\n<p>Finally, I\u00a0started working on\u00a0openUrl and clipboard support. Windows, Linux and Android already support opening URL in\u00a0the browser, OS\u00a0X\u00a0and iOS backends are on\u00a0the way. I\u00a0also have some Symbian code, but it\u00a0could take some time to\u00a0implement it\u00a0properly.<\/p>\n<p>Clipboard is\u00a0already supported in\u00a0SDL2, and\u00a0I just started working on\u00a0adding\u00a0it. Right now it\u2019s only Ctrl+V support for EditableWidget. We\u2019re also thinking on\u00a0adding selecting feature there, so\u00a0users could also use Ctrl+C. I\u2019m not sure how that should work on\u00a0platforms like Android, where we\u00a0usually don\u2019t have keyboards attached. I\u00a0mean, EditableWidgets are not Android EditText fields, so\u00a0they don\u2019t show a\u00a0menu on\u00a0long tap, which means we\u00a0either implement it\u00a0or\u00a0make users suffer.<\/p>\n<p>These two features are what I\u2019m going to\u00a0work\u00a0on. Then I\u00a0also should add some tests into testbed engine, and do\u00a0some documenting\/refactoring where needed.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In\u00a0my\u00a0previous post I\u2019ve mentioned my\u00a0Container PR\u00a0\u2014 and voila\u00a0\u2014 it\u00a0was merged! So\u00a0the first thing I\u2019ve done this week was merging it\u00a0from upstream\u2019s master into my\u00a0cloud fork\u2019s master and using the Container in\u00a0the Cloud tab. I\u2019ve also fixed a\u00a0few TabWidget\u2019s height issues in\u00a0that a\u00a0bit later. Box support was added this week, so\u00a0the original plan to\u00a0add 4\u00a0cloud services [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-51","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.scummvm.org\/tkachov\/wp-json\/wp\/v2\/posts\/51","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.scummvm.org\/tkachov\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.scummvm.org\/tkachov\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/tkachov\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/tkachov\/wp-json\/wp\/v2\/comments?post=51"}],"version-history":[{"count":1,"href":"https:\/\/blogs.scummvm.org\/tkachov\/wp-json\/wp\/v2\/posts\/51\/revisions"}],"predecessor-version":[{"id":55,"href":"https:\/\/blogs.scummvm.org\/tkachov\/wp-json\/wp\/v2\/posts\/51\/revisions\/55"}],"wp:attachment":[{"href":"https:\/\/blogs.scummvm.org\/tkachov\/wp-json\/wp\/v2\/media?parent=51"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/tkachov\/wp-json\/wp\/v2\/categories?post=51"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/tkachov\/wp-json\/wp\/v2\/tags?post=51"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}