├── .github
├── FUNDING.yml
└── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
├── .gitignore
├── LICENSE
├── README.md
├── VERSION.md
└── addons
└── github-integration
├── fonts
├── Roboto-Black.ttf
├── Roboto-Black.ttf.tmp
├── Roboto-Regular.ttf
├── Roboto-Regular.ttf.tmp
├── SEGOEUI.TTF
└── SEGOEUIB.TTF
├── github-logo.png
├── github-logo.png.import
├── icons.pngs
├── add-gray.png.iconpng
├── add.png.iconpng
├── align.png.buttonicon
├── background.png.iconpng
├── circle.png.iconpng
├── collaboration.png.iconpng
├── collaborator.png.iconpng
├── column.png.buttonicon
├── connection.png.iconpng
├── delete.png.buttonicon
├── dir-gray.png.iconpng
├── dir.png.iconpng
├── download-gray.png.iconpng
├── download.png.iconpng
├── edit.png.iconpng
├── edit_.png.iconpng
├── edit_gray.png.iconpng
├── file-gray.png.iconpng
├── file.png.buttonicon
├── file.png.iconpng
├── file_broken.png.iconpng
├── forks.png.iconpng
├── gists-back.png.iconpng
├── gists.png.iconpng
├── git_lfs-gray.png.iconpng
├── git_lfs.png.iconpng
├── githubicon.png.iconpng
├── image-gray.png.iconpng
├── image.png.iconpng
├── keys.png.buttonicon
├── lock.png.iconpng
├── new.png.buttonicon
├── noconnection.png.iconpng
├── organization.png.iconpng
├── read.png.buttonicon
├── reload-gray.png.iconpng
├── reload.png.iconpng
├── remove.png.buttonicon
├── repos-back.png.iconpng
├── repos.png.iconpng
├── resource-gray.png.iconpng
├── resource.png.iconpng
├── row.png.buttonicon
├── save.png.buttonicon
├── saveas.png.buttonicon
├── scene-gray.png.iconpng
├── scene.png.iconpng
├── script-gray.png.iconpng
├── script.png.iconpng
├── search.png.iconpng
├── searchconnection.png.iconpng
├── section.png.buttonicon
├── sections.png.buttonicon
├── stars.png.iconpng
├── text-center.png.buttonicon
├── text-fill.png.buttonicon
├── text-left.png.buttonicon
├── text-right.png.buttonicon
└── watch.png.iconpng
├── icons
├── accept-w.png
├── accept-w.png.import
├── accept.png
├── accept.png.import
├── arrow-down.png
├── arrow-down.png.import
├── arrow-left.png
├── arrow-left.png.import
├── arrow-left.svg
├── arrow-left.svg.import
├── arrow-right.png
├── arrow-right.png.import
├── bell.png
├── bell.png.import
├── checked-white.png
├── checked-white.png.import
├── checked.png
├── checked.png.import
├── deny-w.png
├── deny-w.png.import
├── deny.png
├── deny.png.import
├── option-arrow.png
├── option-arrow.png.import
├── radioChecked.png
├── radioChecked.png.import
├── radioUncheckedhecked.png
├── radioUncheckedhecked.png.import
├── reload.png
├── reload.png.import
├── search.png
├── search.png.import
├── unchecked-white.png
├── unchecked-white.png.import
├── unchecked.png
└── unchecked.png.import
├── plugin.cfg
├── resources
├── github-logo.png
├── github-logo.png.import
├── loading
│ ├── throbber.png
│ └── throbber.png.import
├── proxy.png
├── proxy.png.import
├── search.png
├── search.png.import
├── styles
│ ├── Branch-black.tres
│ ├── Branch-white.tres
│ ├── ContentesBG-dark.tres
│ ├── ContentesBG-white.tres
│ ├── List-black.tres
│ ├── List-white.tres
│ ├── Repohead-black.tres
│ └── Repohead-white.tres
├── themes
│ ├── GitHubTheme-Dark.tres
│ └── GitHubTheme.tres
└── user
│ ├── RoundAvatar.tres
│ ├── circle.png
│ ├── circle.png.iconpng.import
│ ├── circle.png.import
│ ├── discord.png
│ ├── discord.png.import
│ ├── paypal.png
│ ├── paypal.png.import
│ ├── placeholder.png
│ └── placeholder.png.import
├── scenes
├── Commit.tscn
├── ContributorClass.tscn
├── EditGist.tscn
├── Gist.tscn
├── GistItem.tscn
├── GitHub.tscn
├── GreenBtn.tscn
├── Header.tscn
├── InvitationItem.tscn
├── NewRepo.tscn
├── NormalBtn.tscn
├── Notifications.tscn
├── RedBtn.tscn
├── Repo.tscn
├── RepositoryItem.tscn
├── RestHandler.tscn
├── SingIn.tscn
├── UserPanel.tscn
└── loading.tscn
├── screenshots
├── .gdignore
├── banner.png
├── commit.PNG.screenshot
├── commit.png
├── gist.PNG.screenshot
├── gist.png
├── mainpanel1.PNG
├── repo.png
├── repo.png.screenshot
├── singin.png
├── singin.png.screenshot
├── userpanel.png
└── userpanel.png.screenshot
└── scripts
├── Commit.gd
├── ContributorClass.gd
├── Gist.gd
├── GistItem.gd
├── GitHub.gd
├── Header.gd
├── IconLoaderGithub.gd
├── InvitationItem.gd
├── NewGist.gd
├── Notifications.gd
├── PluginSettings.gd
├── Repo.gd
├── Repos.gd
├── RepositoryItem.gd
├── RestHandler.gd
├── SignIn.gd
├── UserPanel.gd
├── WindowDialog.gd
├── github-integration.gd
├── loading.gd
└── user_data.gd
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4 | custom: ["https://paypal.me/NSantilio"]
5 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: "[Bug] "
5 | labels: bug
6 | assignees: fenix-hub
7 |
8 | ---
9 |
10 | **Godot Version & Plugin Version**
11 | Godot: *x.x.x*
12 | Plugin: *x.x.x*
13 |
14 | **Describe the bug**
15 | A clear and concise description of what the bug is.
16 |
17 | **Screenshots**
18 | A screenshot of Godot Editor while you are encountering this bug, or a clear screenshot of Editor/External console.
19 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: "[Feature] "
5 | labels: enhancement
6 | assignees: fenix-hub
7 |
8 | ---
9 |
10 | **Describe the feature you'd like**
11 | A clear and concise description of what you want to happen.
12 |
13 | **Describe a possible solution of implementation**
14 | A clear and concise description of any implementation solution. It is not mandatory, leave this blank if you don't want to get into technical stuff.
15 |
16 | **Additional context**
17 | Add any other context or screenshots about the feature request here.
18 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Plugin Specific ignores
2 | default_env.tres
3 | icon.png
4 | icon.png.import
5 | project.godot
6 | scn/
7 | override.cfg
8 |
9 | # Godot-specific ignores
10 | .import/
11 | export.cfg
12 | export_presets.cfg
13 |
14 | # Mono-specific ignores
15 | .mono/
16 | data_*/
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 fenix-hub
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | This plugin is now supported in [Godot Extended Library Discord](https://discord.gg/JNrcucg), check out the [Godot Extended Library Project](https://github.com/godot-extended-libraries)!
8 |
9 |
10 |
11 | # GitHub Integration
12 | A complete GitHub integration for your Godot Editor! Manage your project without even opening your browser.
13 |
14 | Author: *"Nicolo (fenix) Santilio"*
15 | Version: *1.4.4*
16 | Godot Version: *3.2.4-rc3*
17 | Wiki: *[supported](https://github.com/fenix-hub/godot-engine.github-integration/wiki)*
18 |
19 |
20 |
21 | ## What is this?
22 | *GitHub Integration* is a addon for Godot Engine that I've created mainly for a personal purpose.
23 | Pushing and Pulling repositories while I'm working on Godot (especially if I'm under a GameJam) could take some time and force me to save the project, open the brwoser/git bash/git gui, and do all the stuff.
24 | With this little addon which works directly in the editor, managing all your repositories will be very easy.
25 |
26 | ## What can it do?
27 | *Github Integration* offers the main functionalities provided by GitHub (and git itself), in a more accessible way.
28 | Currenlty, you can:
29 | - Manage all of your public and private **repositories**, *including* the ones you share with organizations and the ones in which you are a collaborator (with proper permissions): create, delete, push and clone repositories within your Godot project
30 | - Manage all of your public and private **gists**: delete, edit and create gists with a functional text editor
31 | - Manage collaboration invitations, inviting user to your repositories or accept/decline invitations you have received
32 |
33 | ## How does it work?
34 | I'm currently working on a [Wiki](https://github.com/fenix-hub/godot-engine.github-integration/wiki) for this plugin. It is a process that will take some time to complete since I want to provide a well-organized wiki with some basic explanations about GitHub itself. Anyway, I'm working on a user-friendly plugin, so everything should be the very ease to use for GitHub experienced users, and a little intuitive for people who never used GitHub or are not so experienced.
35 | If you want to see some screenshots you can find them here `addons/github-integration/screenshots`
36 |
37 | ## Supporters page
38 |
44 |
45 | ## :warning: Disclaimer
46 | As a "work in progress" project, there is *no warranty* for any eventual issue and bug that may broke your project.
47 | I don't assume any responsibility for possible corruptions of your project. It is always advisable to keep a copy of your project and check any changes you make in your Github repository.
48 |
49 | -----------------
50 | > This text file was created via [TextEditor Integration](https://github.com/fenix-hub/godot-engine.text-editor) inside Godot Engine's Editor.
--------------------------------------------------------------------------------
/VERSION.md:
--------------------------------------------------------------------------------
1 | **version 0.1.5**
2 | *added*
3 | + Light code clean
4 | + Some Bugfix
5 | + Plugin output for debug of some of the operations
6 | + Automatic Filling of sign in fields
7 | + Multiple files commit and changes commit
8 | + Every text and image file format supported
9 | + Filtering in committing
10 | + Autoload branches content
11 |
12 | *removed*
13 | + Single file commit
14 | + Only text file commit
15 |
16 | ----------------------
17 |
18 | **version 0.2.5**
19 | *added*
20 | + Code clean
21 | + Chose branch to commit
22 | + Delete resource selected in repository
23 | + Filters: Exceptions, Only, Start from
24 |
25 | ----------------------
26 |
27 | **version 0.2.7**
28 | *added*
29 | + Code clean
30 | + Fix some little animations
31 | + New commit method: tree created from blobs, creates a single commit with more files
32 |
33 | *removed*
34 | + Old commit method
35 |
36 | ----------------------
37 |
38 | **version 0.2.9**
39 | *added*
40 | + Code clean
41 | + Bugfix with commits
42 | + A marker next to "Sign-in" buttons appears if a logfile is found
43 |
44 | ----------------------
45 |
46 | **version 0.3.1**
47 | *added*
48 | + Several bugfixes
49 |
50 | --------------------
51 |
52 | **version 0.3.2**
53 | *added*
54 | + New folder organization (whole plugin in *addon* folder)
55 | + New install method (AssetLib from GodotEngine Editor)
56 |
57 | --------------------
58 |
59 | **version 0.6.0**
60 | *removed*
61 | - old position:
62 | - the plugin doesn't appear in docs anymore. Instead, it will load a new tool in the top toolbar
63 | - old layout:
64 | - RepositoryList and GistList now show more informations about their contents
65 | - old repository's content system:
66 | - Repositories contents are now listed in a tree way
67 | - old "commit to repository" system and FILTERS:
68 | - The old system was based on a Filtering system: I introduced filters to help people choose which file to exclude from your commit, which files should negate an exclusion, and eventually from which path to start. This system was based on the conception that the whole commit started from the `res://` path. Now, you can select in a more interactive way all files and folders you want to commit, and exclude them with a .gitignore system.
69 |
70 | *added*
71 | + Informations about repositories:
72 | + Repositories now have their own icons: *lock* for private, *fork* for forked repositories, *gray repo* for own public repositories
73 | + Repositories show their forked times and stars
74 | + License templates: new repositories can now be created with a license template from all availables github supported licenses
75 | + Repository contents system:
76 | + files are now displayed in a compact, more readable tree system. Files and folders are differentiated, and folders can be folded and unfolded to show their contents
77 | + you can now delete multiple files just CTRL/SHIFT selecting them. **remember:** folders cannot be deleted by github integrity rules. Delete all folder's contents to delete the folder itself
78 | + you can now create a new branch from all selectable branches in your repository
79 | + **!Repository committing system**:
80 | + [filtering]
81 | + Since FILTERS are not supported anymore, the usage of `.gitignore` is now implemented.
82 | + a `.gitignore` file is loaded from the repository you want to commit to. If this repository doesn't have a gitignore, an empty and new gitignore can be created and committed.
83 | + the "gitignore editor" is shown next to the "committing tree" so you can procedurally select files and folders, and exclude/include them with the gitignore. *if you don't know how to use a gitignore, I recommend you to click on the `?` button in the bottom-right of the gitignore editor*
84 | + the "edit .gitignore" button will prevent any unwanted modifications to be applied by any chance (miss-typing, or you just don't need to edit the gitignore since it was loaded from the repository)
85 | + [file choosing]
86 | + Since FILTERS are not supported anymore, the commit process won't start from the project folder.
87 | + Now you can select multiple files and directories you want to commit through a file dialog showing your whole project folder.
88 | + Files and directories can always be removed before committing
89 | **Please, note that the gitignore filtering method is custom made. To fully support the same gitignore method applied by GitHub some tests are needed**
90 | + **Gists** can now be opened, edited, and pushed with a cusotm GitEditor. Gists which contain more than one file are supported, and you can edit more files at the same time.
91 |
92 | --------------------
93 |
94 | **version 0.6.2**
95 | *fixed*
96 | - new method to show contents of repositories: faster code and works better. Empty repositories won't be loaded
97 | - now each loading has a loading screen covering the whole scene: no more missclicks during a repository loading or a commit
98 | - new icons in repositories to visually show what's the content type ( adapted to Godot Engine's file types)
99 |
100 | --------------------
101 |
102 | **version 0.7.0**
103 | *added*
104 | - **pull / clone button** : you can now pull from any branch of a selected repository. A local copy of your repository with files relative to the selected branch will be created in a .zip file inside your 'res://' folder. In this way you will be able to manage your repository's files in the way you prefer. Pulling/Cloning works on public, private and forked repositories.
105 |
106 | --------------------
107 |
108 | **version 0.7.2**
109 | *added*
110 | - **debug messages checkbox** : a new checkbox will appear on the top-left corner of the GUI. With this checkbox you can decide if you want to get debug messages from this plugin or not. You can enable/disable it in any plugin tab
111 |
112 | *fidex*
113 | - **deleting repository's resources** : with the previous version a bug occured and it wasn't possible to delete resources within a repository.
114 |
115 | --------------------
116 |
117 | **version 0.7.4**
118 | *added*
119 | - **auto extraction** : the plugin is now able to auto-extract downloaded archives automatically. _your OS needs python_ to run the extraction script since it is not currently built in Godot Engine. It is still a beta script, so it is highly recommended to use it inside empty projects and have some tests. You can always report issues and contact me for any bug.
120 | - **sing up link** : if you don't have an account, or want to create a new one, you can click on the *'Don't have a GitHub account yet?'* button in the main tab of the plugin
121 |
122 | --------------------
123 |
124 | **version 0.7.5**
125 | *fixed*
126 | - **minor bugs**
127 |
128 | --------------------
129 |
130 | **version 0.7.8**
131 | *fixed*
132 | - *[!] icon for log file* appeared even though there weren't log files already stored
133 | - increased the number of repositories that will be listed. Default GitHub repository listing provides only 30 repositories at time. Now the limit is increased to 100.
134 |
135 | *added*
136 | - user's datas are now stored in an **encrypted file**, and datas are shared on an upper level folder. Now you won't need to save the same datas for each 'github integration' plugin you install in your new projects, but all the projects you have and in which you use this plugin will always use the same log file. This log file will be stored at `/AppData/Roaming/Godot/github_integration/`
137 | - the plugin now supports two different unzipping methods, one with a *Python script* and one with a *GDScript*. The second one is offered by an external plugin, which is the [gdunzip](https://github.com/jellehermsen/gdunzip) plugin developed by [jellehermsen](https://github.com/jellehermsen) (please, check it out!!). **NOTE:** If you've got Python installed on your PC, it is recommended using the Python one, since the GDScript one is not developed by me and may not work. In that case, please make an issue with specific informations about the problem you've encountered, and I'll make sure to discuss about it with the developer.
138 |
139 | --------------------
140 |
141 | **version 0.8.2**
142 | *fixed*
143 | - autoload errors with 3.2 beta versions (and so on)
144 | - some interface bugs
145 | - minor bugfixes
146 |
147 | *added*
148 | - **new authentication method** : it is now possible to log into your GitHub profile with an *Access Token*. Since GitHub will deprecate the basic authentication method (which consists of `your e-mail : your password`) this plugin will **only work** with your personal access token.
149 | Please, visit [this site](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line) to understand what a Personal Access Token is, and how to use it. You will also find this link as a button in the plugin.
150 |
151 | --------------------
152 |
153 | **version 0.8.4**
154 | *fixed*
155 | - plugin ui
156 | - extraction methods
157 |
158 | *added*
159 | - introduced a java extraction method for zip files.
160 |
161 | -------------------
162 | **version 0.9.0**
163 | *fixed*
164 | - opening shared repositories
165 |
166 | *added*
167 | - new repositories explorer
168 | - search bar for repositories
169 |
170 | -----------------
171 | **version 1.0.0**
172 | *fixed*
173 | - overall fixes
174 | - *infinite loading after commit/push:* fixed an issue that blocked commiting and pushing an entire project or some specific files. Now everything should be committed fine. A whole project can be committed just selecting "Select current directory"
175 | - *.gitignore handling:* fixed gitignore handling, sometimes they were empty or overwritten randomly
176 |
177 | *added*
178 | - *new UI:* now the plugin follows the official GitHub color palette and interface
179 | - *gist searchbar:* it is now possible to use the searchbar for gist
180 | - *autolog:* now an auto login option is available. When activated, the plugin will automatically log inside user's github profile
181 | - **darkmode:** it is now available a darkmode. Both light and dark modes respect github color palette. The dark mode can be activated anytime during the plugin usage
182 |
183 | -----------------
184 | **version 1.1.0**
185 | *fixed*
186 | - *faster login and auto-login*
187 | - *minor errors with nodes*
188 |
189 | *added*
190 | - *fast social button to header:* you can now join the social I share in the README with some buttons in the header.
191 |
192 | -----------------
193 | **version 1.2.0**
194 | *fixed*
195 | - dark theme fixed
196 |
197 | *added*
198 | - *collaborations:* you can now invite other users for a collaboration in your repositories. If the user has been invited successfully, they will receive an email with an invitation to accept/decline. Users that have repositories in collaboration will see these repositories marked with a new icon inside their repositories list. Collaborators can work with this repositories as they are their own repositories (based on the permissions granted), so teamworking will be much faster.
199 |
200 |
201 | > This text file was created via [TextEditor Integration](https://github.com/fenix-hub/godot-engine.text-editor) inside Godot Engine's Editor.
202 |
203 |
204 |
205 |
206 |
--------------------------------------------------------------------------------
/addons/github-integration/fonts/Roboto-Black.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/fonts/Roboto-Black.ttf
--------------------------------------------------------------------------------
/addons/github-integration/fonts/Roboto-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/fonts/Roboto-Regular.ttf
--------------------------------------------------------------------------------
/addons/github-integration/fonts/SEGOEUI.TTF:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/fonts/SEGOEUI.TTF
--------------------------------------------------------------------------------
/addons/github-integration/fonts/SEGOEUIB.TTF:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/fonts/SEGOEUIB.TTF
--------------------------------------------------------------------------------
/addons/github-integration/github-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/github-logo.png
--------------------------------------------------------------------------------
/addons/github-integration/github-logo.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/github-logo.png-47e01e9fc59994c0db55903788d0795b.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/github-logo.png"
13 | dest_files=[ "res://.import/github-logo.png-47e01e9fc59994c0db55903788d0795b.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/add-gray.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/add-gray.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/add.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/add.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/align.png.buttonicon:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/align.png.buttonicon
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/background.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/background.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/circle.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/circle.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/collaboration.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/collaboration.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/collaborator.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/collaborator.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/column.png.buttonicon:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/column.png.buttonicon
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/connection.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/connection.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/delete.png.buttonicon:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/delete.png.buttonicon
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/dir-gray.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/dir-gray.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/dir.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/dir.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/download-gray.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/download-gray.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/download.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/download.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/edit.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/edit.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/edit_.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/edit_.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/edit_gray.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/edit_gray.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/file-gray.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/file-gray.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/file.png.buttonicon:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/file.png.buttonicon
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/file.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/file.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/file_broken.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/file_broken.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/forks.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/forks.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/gists-back.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/gists-back.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/gists.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/gists.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/git_lfs-gray.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/git_lfs-gray.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/git_lfs.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/git_lfs.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/githubicon.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/githubicon.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/image-gray.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/image-gray.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/image.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/image.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/keys.png.buttonicon:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/keys.png.buttonicon
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/lock.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/lock.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/new.png.buttonicon:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/new.png.buttonicon
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/noconnection.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/noconnection.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/organization.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/organization.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/read.png.buttonicon:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/read.png.buttonicon
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/reload-gray.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/reload-gray.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/reload.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/reload.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/remove.png.buttonicon:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/remove.png.buttonicon
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/repos-back.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/repos-back.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/repos.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/repos.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/resource-gray.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/resource-gray.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/resource.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/resource.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/row.png.buttonicon:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/row.png.buttonicon
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/save.png.buttonicon:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/save.png.buttonicon
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/saveas.png.buttonicon:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/saveas.png.buttonicon
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/scene-gray.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/scene-gray.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/scene.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/scene.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/script-gray.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/script-gray.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/script.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/script.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/search.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/search.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/searchconnection.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/searchconnection.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/section.png.buttonicon:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/section.png.buttonicon
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/sections.png.buttonicon:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/sections.png.buttonicon
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/stars.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/stars.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/text-center.png.buttonicon:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/text-center.png.buttonicon
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/text-fill.png.buttonicon:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/text-fill.png.buttonicon
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/text-left.png.buttonicon:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/text-left.png.buttonicon
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/text-right.png.buttonicon:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/text-right.png.buttonicon
--------------------------------------------------------------------------------
/addons/github-integration/icons.pngs/watch.png.iconpng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons.pngs/watch.png.iconpng
--------------------------------------------------------------------------------
/addons/github-integration/icons/accept-w.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons/accept-w.png
--------------------------------------------------------------------------------
/addons/github-integration/icons/accept-w.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/accept-w.png-5d14172905ef883ae53edc9c9d7c3161.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/icons/accept-w.png"
13 | dest_files=[ "res://.import/accept-w.png-5d14172905ef883ae53edc9c9d7c3161.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/icons/accept.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons/accept.png
--------------------------------------------------------------------------------
/addons/github-integration/icons/accept.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/accept.png-69f9c244a8fc65b0e8e0a9f63861044d.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/icons/accept.png"
13 | dest_files=[ "res://.import/accept.png-69f9c244a8fc65b0e8e0a9f63861044d.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/icons/arrow-down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons/arrow-down.png
--------------------------------------------------------------------------------
/addons/github-integration/icons/arrow-down.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/arrow-down.png-05925cd689ad05c4a0467266ab52cce9.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/icons/arrow-down.png"
13 | dest_files=[ "res://.import/arrow-down.png-05925cd689ad05c4a0467266ab52cce9.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/icons/arrow-left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons/arrow-left.png
--------------------------------------------------------------------------------
/addons/github-integration/icons/arrow-left.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/arrow-left.png-1941a3f221b2e3cc142502e269e458f9.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/icons/arrow-left.png"
13 | dest_files=[ "res://.import/arrow-left.png-1941a3f221b2e3cc142502e269e458f9.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/icons/arrow-left.svg:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/addons/github-integration/icons/arrow-left.svg.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/arrow-left.svg-dd6535743349ac0a285fc99ef3ed711e.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/icons/arrow-left.svg"
13 | dest_files=[ "res://.import/arrow-left.svg-dd6535743349ac0a285fc99ef3ed711e.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=false
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=true
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=2.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/icons/arrow-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons/arrow-right.png
--------------------------------------------------------------------------------
/addons/github-integration/icons/arrow-right.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/arrow-right.png-cd9e94faef510d4ea4099650bfff27fb.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/icons/arrow-right.png"
13 | dest_files=[ "res://.import/arrow-right.png-cd9e94faef510d4ea4099650bfff27fb.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/icons/bell.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons/bell.png
--------------------------------------------------------------------------------
/addons/github-integration/icons/bell.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/bell.png-f23eb8d10b79024fd8e597ba841b0bbc.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/icons/bell.png"
13 | dest_files=[ "res://.import/bell.png-f23eb8d10b79024fd8e597ba841b0bbc.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=false
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/icons/checked-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons/checked-white.png
--------------------------------------------------------------------------------
/addons/github-integration/icons/checked-white.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/checked-white.png-369373d01ee5029fc1178bf0eb2cf357.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/icons/checked-white.png"
13 | dest_files=[ "res://.import/checked-white.png-369373d01ee5029fc1178bf0eb2cf357.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/icons/checked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons/checked.png
--------------------------------------------------------------------------------
/addons/github-integration/icons/checked.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/checked.png-8845c77d4b851b4662c4287d01836338.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/icons/checked.png"
13 | dest_files=[ "res://.import/checked.png-8845c77d4b851b4662c4287d01836338.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/icons/deny-w.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons/deny-w.png
--------------------------------------------------------------------------------
/addons/github-integration/icons/deny-w.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/deny-w.png-7897b4d59c46a228e49aaedb77364b95.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/icons/deny-w.png"
13 | dest_files=[ "res://.import/deny-w.png-7897b4d59c46a228e49aaedb77364b95.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/icons/deny.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons/deny.png
--------------------------------------------------------------------------------
/addons/github-integration/icons/deny.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/deny.png-dd404a9604acf11f9384f4685f1dbed0.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/icons/deny.png"
13 | dest_files=[ "res://.import/deny.png-dd404a9604acf11f9384f4685f1dbed0.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/icons/option-arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons/option-arrow.png
--------------------------------------------------------------------------------
/addons/github-integration/icons/option-arrow.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/option-arrow.png-a593ddd4971494c16c9554162db7cc36.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/icons/option-arrow.png"
13 | dest_files=[ "res://.import/option-arrow.png-a593ddd4971494c16c9554162db7cc36.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/icons/radioChecked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons/radioChecked.png
--------------------------------------------------------------------------------
/addons/github-integration/icons/radioChecked.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/radioChecked.png-8a7b8b7596e87fb20baf7b5540faa542.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/icons/radioChecked.png"
13 | dest_files=[ "res://.import/radioChecked.png-8a7b8b7596e87fb20baf7b5540faa542.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/icons/radioUncheckedhecked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons/radioUncheckedhecked.png
--------------------------------------------------------------------------------
/addons/github-integration/icons/radioUncheckedhecked.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/radioUncheckedhecked.png-d5681921ff8218e97c08919dcf562297.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/icons/radioUncheckedhecked.png"
13 | dest_files=[ "res://.import/radioUncheckedhecked.png-d5681921ff8218e97c08919dcf562297.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/icons/reload.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons/reload.png
--------------------------------------------------------------------------------
/addons/github-integration/icons/reload.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/reload.png-ec1821d2ce6b88dacf319266a4f3710a.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/icons/reload.png"
13 | dest_files=[ "res://.import/reload.png-ec1821d2ce6b88dacf319266a4f3710a.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/icons/search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons/search.png
--------------------------------------------------------------------------------
/addons/github-integration/icons/search.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/search.png-3cca5de8d391e3e5ae6aaca6f3c3abf2.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/icons/search.png"
13 | dest_files=[ "res://.import/search.png-3cca5de8d391e3e5ae6aaca6f3c3abf2.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=true
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=false
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=true
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/icons/unchecked-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons/unchecked-white.png
--------------------------------------------------------------------------------
/addons/github-integration/icons/unchecked-white.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/unchecked-white.png-9152f6ec19987a25880de343cabe86fa.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/icons/unchecked-white.png"
13 | dest_files=[ "res://.import/unchecked-white.png-9152f6ec19987a25880de343cabe86fa.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/icons/unchecked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/icons/unchecked.png
--------------------------------------------------------------------------------
/addons/github-integration/icons/unchecked.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/unchecked.png-02470437d0cf6ccdb5e5f0adbcafe421.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/icons/unchecked.png"
13 | dest_files=[ "res://.import/unchecked.png-02470437d0cf6ccdb5e5f0adbcafe421.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/plugin.cfg:
--------------------------------------------------------------------------------
1 | [plugin]
2 |
3 | name="GitHub integration"
4 | description="Plugin to integrate GitHub requests directly via Godot Engine Editor"
5 | author="Nicolo (fenix) Santilio"
6 | version="1.4.4"
7 | script="scripts/github-integration.gd"
8 |
--------------------------------------------------------------------------------
/addons/github-integration/resources/github-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/resources/github-logo.png
--------------------------------------------------------------------------------
/addons/github-integration/resources/github-logo.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/github-logo.png-ecbc9f6d20796b46b889486439e860bc.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/resources/github-logo.png"
13 | dest_files=[ "res://.import/github-logo.png-ecbc9f6d20796b46b889486439e860bc.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=false
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=false
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=false
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/resources/loading/throbber.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/resources/loading/throbber.png
--------------------------------------------------------------------------------
/addons/github-integration/resources/loading/throbber.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/throbber.png-ae03ce9c717cd2fb342f9f5d37de98d0.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/resources/loading/throbber.png"
13 | dest_files=[ "res://.import/throbber.png-ae03ce9c717cd2fb342f9f5d37de98d0.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=true
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/resources/proxy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/resources/proxy.png
--------------------------------------------------------------------------------
/addons/github-integration/resources/proxy.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/proxy.png-eb05e86e1b09889d8d9cb4eff7df2f1b.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/resources/proxy.png"
13 | dest_files=[ "res://.import/proxy.png-eb05e86e1b09889d8d9cb4eff7df2f1b.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/resources/search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/resources/search.png
--------------------------------------------------------------------------------
/addons/github-integration/resources/search.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/search.png-9b9b7cef4594258a01318d95c85ad610.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/resources/search.png"
13 | dest_files=[ "res://.import/search.png-9b9b7cef4594258a01318d95c85ad610.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=true
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=false
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=true
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/resources/styles/Branch-black.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | content_margin_left = 5.0
5 | content_margin_right = 5.0
6 | content_margin_top = 10.0
7 | content_margin_bottom = 10.0
8 | bg_color = Color( 0.235294, 0.286275, 0.333333, 1 )
9 | border_width_left = 1
10 | border_width_top = 1
11 | border_width_right = 1
12 | border_width_bottom = 1
13 | border_color = Color( 0.180392, 0.231373, 0.301961, 1 )
14 | corner_radius_top_left = 10
15 | corner_radius_top_right = 10
16 | corner_detail = 20
17 | anti_aliasing = false
18 |
--------------------------------------------------------------------------------
/addons/github-integration/resources/styles/Branch-white.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | content_margin_left = 5.0
5 | content_margin_right = 5.0
6 | content_margin_top = 10.0
7 | content_margin_bottom = 10.0
8 | bg_color = Color( 0.945098, 0.972549, 1, 1 )
9 | border_width_left = 1
10 | border_width_top = 1
11 | border_width_right = 1
12 | border_width_bottom = 1
13 | border_color = Color( 0.835294, 0.909804, 1, 1 )
14 | corner_radius_top_left = 10
15 | corner_radius_top_right = 10
16 | corner_detail = 20
17 | anti_aliasing = false
18 |
--------------------------------------------------------------------------------
/addons/github-integration/resources/styles/ContentesBG-dark.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | content_margin_left = 4.0
5 | content_margin_right = 4.0
6 | bg_color = Color( 0.168627, 0.188235, 0.203922, 1 )
7 | border_width_left = 1
8 | border_width_right = 1
9 | border_width_bottom = 1
10 | border_color = Color( 0.137255, 0.137255, 0.14902, 1 )
11 | corner_radius_bottom_right = 10
12 | corner_radius_bottom_left = 10
13 | corner_detail = 20
14 | anti_aliasing = false
15 |
--------------------------------------------------------------------------------
/addons/github-integration/resources/styles/ContentesBG-white.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | content_margin_left = 4.0
5 | content_margin_right = 4.0
6 | bg_color = Color( 1, 1, 1, 1 )
7 | border_width_left = 1
8 | border_width_right = 1
9 | border_width_bottom = 1
10 | border_color = Color( 0.890196, 0.890196, 0.898039, 1 )
11 | corner_radius_bottom_right = 10
12 | corner_radius_bottom_left = 10
13 | corner_detail = 20
14 | anti_aliasing = false
15 |
--------------------------------------------------------------------------------
/addons/github-integration/resources/styles/List-black.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | content_margin_left = 10.0
5 | content_margin_right = 10.0
6 | content_margin_top = 10.0
7 | content_margin_bottom = 10.0
8 | bg_color = Color( 0.168627, 0.188235, 0.203922, 1 )
9 | border_width_left = 1
10 | border_width_top = 1
11 | border_width_right = 1
12 | border_width_bottom = 1
13 | border_color = Color( 0.113725, 0.121569, 0.129412, 1 )
14 | corner_radius_top_left = 10
15 | corner_radius_top_right = 10
16 | corner_radius_bottom_right = 10
17 | corner_radius_bottom_left = 10
18 | corner_detail = 20
19 | anti_aliasing = false
20 |
--------------------------------------------------------------------------------
/addons/github-integration/resources/styles/List-white.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | content_margin_left = 10.0
5 | content_margin_right = 10.0
6 | content_margin_top = 10.0
7 | content_margin_bottom = 10.0
8 | bg_color = Color( 1, 1, 1, 1 )
9 | border_width_left = 1
10 | border_width_top = 1
11 | border_width_right = 1
12 | border_width_bottom = 1
13 | border_color = Color( 0.870588, 0.87451, 0.882353, 1 )
14 | corner_radius_top_left = 10
15 | corner_radius_top_right = 10
16 | corner_radius_bottom_right = 10
17 | corner_radius_bottom_left = 10
18 | corner_detail = 20
19 | anti_aliasing = false
20 |
--------------------------------------------------------------------------------
/addons/github-integration/resources/styles/Repohead-black.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | content_margin_left = 0.0
5 | content_margin_right = 0.0
6 | content_margin_top = 10.0
7 | content_margin_bottom = 10.0
8 | bg_color = Color( 0.184314, 0.203922, 0.223529, 1 )
9 | border_width_bottom = 1
10 | border_color = Color( 0.133333, 0.152941, 0.168627, 1 )
11 | corner_detail = 20
12 | expand_margin_left = 20.0
13 | expand_margin_right = 20.0
14 | anti_aliasing = false
15 |
--------------------------------------------------------------------------------
/addons/github-integration/resources/styles/Repohead-white.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | content_margin_left = 0.0
5 | content_margin_right = 0.0
6 | content_margin_top = 10.0
7 | content_margin_bottom = 10.0
8 | bg_color = Color( 0.980392, 0.984314, 0.988235, 1 )
9 | border_width_bottom = 1
10 | border_color = Color( 0.882353, 0.894118, 0.909804, 1 )
11 | corner_detail = 20
12 | expand_margin_left = 20.0
13 | expand_margin_right = 20.0
14 | anti_aliasing = false
15 |
--------------------------------------------------------------------------------
/addons/github-integration/resources/user/RoundAvatar.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="ShaderMaterial" load_steps=5 format=2]
2 |
3 | [ext_resource path="res://addons/github-integration/resources/user/circle.png" type="Texture" id=1]
4 |
5 | [sub_resource type="VisualShaderNodeTexture" id=1]
6 | output_port_for_preview = 1
7 | texture = ExtResource( 1 )
8 |
9 | [sub_resource type="VisualShaderNodeTexture" id=2]
10 | source = 2
11 |
12 | [sub_resource type="VisualShader" id=3]
13 | code = "shader_type canvas_item;
14 | uniform sampler2D tex_frg_3;
15 |
16 |
17 |
18 | void vertex() {
19 | // Output:0
20 |
21 | }
22 |
23 | void fragment() {
24 | // Texture:4
25 | vec3 n_out4p0;
26 | float n_out4p1;
27 | {
28 | vec4 _tex_read = texture(TEXTURE , UV.xy);
29 | n_out4p0 = _tex_read.rgb;
30 | n_out4p1 = _tex_read.a;
31 | }
32 |
33 | // Texture:3
34 | vec4 tex_frg_3_read = texture(tex_frg_3, UV.xy);
35 | vec3 n_out3p0 = tex_frg_3_read.rgb;
36 | float n_out3p1 = tex_frg_3_read.a;
37 |
38 | // Output:0
39 | COLOR.rgb = n_out4p0;
40 | COLOR.a = n_out3p1;
41 |
42 | }
43 |
44 | void light() {
45 | // Output:0
46 |
47 | }
48 | "
49 | graph_offset = Vector2( -371.254, 150 )
50 | mode = 1
51 | flags/light_only = false
52 | nodes/fragment/3/node = SubResource( 1 )
53 | nodes/fragment/3/position = Vector2( 0, 200 )
54 | nodes/fragment/4/node = SubResource( 2 )
55 | nodes/fragment/4/position = Vector2( 0, 80 )
56 | nodes/fragment/connections = PoolIntArray( 4, 0, 0, 0, 3, 1, 0, 1 )
57 |
58 | [resource]
59 | shader = SubResource( 3 )
60 |
--------------------------------------------------------------------------------
/addons/github-integration/resources/user/circle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/resources/user/circle.png
--------------------------------------------------------------------------------
/addons/github-integration/resources/user/circle.png.iconpng.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/circle.png-c3ba04f17b6d42fdf030b659f9304d97.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/user/circle.png"
13 | dest_files=[ "res://.import/circle.png-c3ba04f17b6d42fdf030b659f9304d97.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/resources/user/circle.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/circle.png-ab6085011eacb640874b71ad62328370.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/resources/user/circle.png"
13 | dest_files=[ "res://.import/circle.png-ab6085011eacb640874b71ad62328370.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=false
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/resources/user/discord.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/resources/user/discord.png
--------------------------------------------------------------------------------
/addons/github-integration/resources/user/discord.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/discord.png-cabaff2402b5a64a4a182b44af99f8dc.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/resources/user/discord.png"
13 | dest_files=[ "res://.import/discord.png-cabaff2402b5a64a4a182b44af99f8dc.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=true
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/resources/user/paypal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/resources/user/paypal.png
--------------------------------------------------------------------------------
/addons/github-integration/resources/user/paypal.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/paypal.png-5bebf862c20f1b601f51756463163b86.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/resources/user/paypal.png"
13 | dest_files=[ "res://.import/paypal.png-5bebf862c20f1b601f51756463163b86.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=true
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/resources/user/placeholder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/resources/user/placeholder.png
--------------------------------------------------------------------------------
/addons/github-integration/resources/user/placeholder.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/placeholder.png-fdd683ee36ca80dff9ce9c6b1ddb20ee.stex"
6 | metadata={
7 | "vram_texture": false
8 | }
9 |
10 | [deps]
11 |
12 | source_file="res://addons/github-integration/resources/user/placeholder.png"
13 | dest_files=[ "res://.import/placeholder.png-fdd683ee36ca80dff9ce9c6b1ddb20ee.stex" ]
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/bptc_ldr=0
21 | compress/normal_map=0
22 | flags/repeat=0
23 | flags/filter=true
24 | flags/mipmaps=true
25 | flags/anisotropic=false
26 | flags/srgb=2
27 | process/fix_alpha_border=true
28 | process/premult_alpha=false
29 | process/HDR_as_SRGB=false
30 | process/invert_color=false
31 | stream=false
32 | size_limit=0
33 | detect_3d=true
34 | svg/scale=1.0
35 |
--------------------------------------------------------------------------------
/addons/github-integration/scenes/Commit.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=7 format=2]
2 |
3 | [ext_resource path="res://addons/github-integration/scripts/Commit.gd" type="Script" id=1]
4 | [ext_resource path="res://addons/github-integration/icons/arrow-left.svg" type="Texture" id=2]
5 | [ext_resource path="res://addons/github-integration/resources/themes/GitHubTheme-Dark.tres" type="Theme" id=3]
6 |
7 | [sub_resource type="StyleBoxEmpty" id=1]
8 |
9 | [sub_resource type="Shader" id=2]
10 | code = "shader_type canvas_item;
11 | render_mode unshaded, blend_disabled;
12 |
13 | uniform float speed = 5.0;
14 |
15 | vec2 rotateUV(vec2 uv, vec2 pivot, float rotation) {
16 | float cosa = cos(rotation);
17 | float sina = sin(rotation);
18 | uv -= pivot;
19 | return vec2(
20 | cosa * uv.x - sina * uv.y,
21 | cosa * uv.y + sina * uv.x
22 | ) + pivot;
23 | }
24 |
25 | void vertex() {
26 | VERTEX = rotateUV(VERTEX, TEXTURE_PIXEL_SIZE+vec2(45,45), TIME * speed);
27 | }
28 |
29 | "
30 |
31 | [sub_resource type="ShaderMaterial" id=3]
32 | shader = SubResource( 2 )
33 | shader_param/speed = 0
34 |
35 | [node name="Commit" type="Control"]
36 | anchor_right = 1.0
37 | anchor_bottom = 1.0
38 | theme = ExtResource( 3 )
39 | script = ExtResource( 1 )
40 | __meta__ = {
41 | "_edit_use_anchors_": false
42 | }
43 |
44 | [node name="BG" type="ColorRect" parent="."]
45 | anchor_right = 1.0
46 | anchor_bottom = 1.0
47 | color = Color( 0.964706, 0.972549, 0.980392, 1 )
48 |
49 | [node name="VBoxContainer2" type="VBoxContainer" parent="."]
50 | anchor_right = 1.0
51 | anchor_bottom = 1.0
52 | margin_left = 16.0
53 | margin_top = 16.0
54 | margin_right = -16.0
55 | margin_bottom = -16.0
56 | __meta__ = {
57 | "_edit_use_anchors_": false
58 | }
59 |
60 | [node name="close2" type="TextureButton" parent="VBoxContainer2"]
61 | modulate = Color( 0.27451, 0.262745, 0.266667, 1 )
62 | margin_right = 32.0
63 | margin_bottom = 32.0
64 | size_flags_horizontal = 0
65 | shortcut_in_tooltip = false
66 | texture_normal = ExtResource( 2 )
67 |
68 | [node name="Label2" type="Label" parent="VBoxContainer2"]
69 | visible = false
70 | margin_top = 18.0
71 | margin_right = 984.0
72 | margin_bottom = 40.0
73 | size_flags_horizontal = 3
74 | custom_colors/font_color = Color( 0.133333, 0.133333, 0.133333, 1 )
75 | text = "COMMIT AND PUSH"
76 | align = 1
77 | valign = 1
78 |
79 | [node name="HSeparator9" type="HSeparator" parent="VBoxContainer2"]
80 | margin_top = 36.0
81 | margin_right = 992.0
82 | margin_bottom = 44.0
83 | rect_min_size = Vector2( 0, 8 )
84 | custom_styles/separator = SubResource( 1 )
85 |
86 | [node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer2"]
87 | margin_top = 48.0
88 | margin_right = 992.0
89 | margin_bottom = 78.0
90 | alignment = 1
91 |
92 | [node name="Branch" type="Label" parent="VBoxContainer2/HBoxContainer2"]
93 | margin_left = 391.0
94 | margin_top = 4.0
95 | margin_right = 447.0
96 | margin_bottom = 26.0
97 | text = "Branch:"
98 | align = 2
99 |
100 | [node name="branch" type="OptionButton" parent="VBoxContainer2/HBoxContainer2"]
101 | margin_left = 451.0
102 | margin_right = 601.0
103 | margin_bottom = 30.0
104 | rect_min_size = Vector2( 150, 0 )
105 |
106 | [node name="HBoxContainer7" type="HBoxContainer" parent="VBoxContainer2"]
107 | margin_top = 82.0
108 | margin_right = 992.0
109 | margin_bottom = 114.0
110 | alignment = 1
111 |
112 | [node name="Message" type="Label" parent="VBoxContainer2/HBoxContainer7"]
113 | margin_left = 257.0
114 | margin_top = 5.0
115 | margin_right = 380.0
116 | margin_bottom = 27.0
117 | text = "Commit Message:"
118 | align = 2
119 |
120 | [node name="message" type="LineEdit" parent="VBoxContainer2/HBoxContainer7"]
121 | margin_left = 384.0
122 | margin_right = 734.0
123 | margin_bottom = 32.0
124 | rect_min_size = Vector2( 350, 0 )
125 | size_flags_vertical = 3
126 | caret_blink = true
127 | caret_blink_speed = 0.5
128 |
129 | [node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer2"]
130 | margin_top = 118.0
131 | margin_right = 992.0
132 | margin_bottom = 140.0
133 | alignment = 1
134 |
135 | [node name="Content" type="Label" parent="VBoxContainer2/HBoxContainer"]
136 | margin_left = 438.0
137 | margin_right = 542.0
138 | margin_bottom = 22.0
139 | size_flags_vertical = 1
140 | text = "Committing to:"
141 | align = 2
142 |
143 | [node name="repository" type="Label" parent="VBoxContainer2/HBoxContainer"]
144 | margin_left = 546.0
145 | margin_right = 554.0
146 | margin_bottom = 22.0
147 | grow_horizontal = 0
148 | grow_vertical = 0
149 | size_flags_vertical = 3
150 | custom_colors/font_color = Color( 0.0745098, 0.627451, 0.419608, 1 )
151 |
152 | [node name="HSeparator8" type="HSeparator" parent="VBoxContainer2"]
153 | margin_top = 144.0
154 | margin_right = 992.0
155 | margin_bottom = 152.0
156 | rect_min_size = Vector2( 0, 8 )
157 | custom_styles/separator = SubResource( 1 )
158 |
159 | [node name="HBoxContainer4" type="HBoxContainer" parent="VBoxContainer2"]
160 | margin_top = 156.0
161 | margin_right = 992.0
162 | margin_bottom = 178.0
163 |
164 | [node name="Label" type="Label" parent="VBoxContainer2/HBoxContainer4"]
165 | margin_right = 494.0
166 | margin_bottom = 22.0
167 | size_flags_horizontal = 3
168 | text = ".gitignore"
169 | align = 1
170 |
171 | [node name="Label2" type="Label" parent="VBoxContainer2/HBoxContainer4"]
172 | margin_left = 498.0
173 | margin_right = 992.0
174 | margin_bottom = 22.0
175 | size_flags_horizontal = 3
176 | text = "Committing files"
177 | align = 1
178 |
179 | [node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer2"]
180 | margin_top = 182.0
181 | margin_right = 992.0
182 | margin_bottom = 480.0
183 | size_flags_horizontal = 3
184 | size_flags_vertical = 3
185 |
186 | [node name="VBoxContainer2" type="VBoxContainer" parent="VBoxContainer2/HBoxContainer3"]
187 | margin_right = 494.0
188 | margin_bottom = 298.0
189 | size_flags_horizontal = 3
190 | size_flags_vertical = 3
191 |
192 | [node name="gitignore" type="TextEdit" parent="VBoxContainer2/HBoxContainer3/VBoxContainer2"]
193 | margin_right = 494.0
194 | margin_bottom = 264.0
195 | size_flags_horizontal = 3
196 | size_flags_vertical = 3
197 | readonly = true
198 | show_line_numbers = true
199 | smooth_scrolling = true
200 | wrap_enabled = true
201 |
202 | [node name="girignorebuttons" type="HBoxContainer" parent="VBoxContainer2/HBoxContainer3/VBoxContainer2"]
203 | margin_top = 268.0
204 | margin_right = 494.0
205 | margin_bottom = 298.0
206 |
207 | [node name="gitignoreBtn" type="CheckBox" parent="VBoxContainer2/HBoxContainer3/VBoxContainer2/girignorebuttons"]
208 | margin_right = 114.0
209 | margin_bottom = 30.0
210 | text = "Edit .gitignore"
211 |
212 | [node name="about_gitignoreBtn" type="Button" parent="VBoxContainer2/HBoxContainer3/VBoxContainer2/girignorebuttons"]
213 | margin_left = 468.0
214 | margin_right = 494.0
215 | margin_bottom = 30.0
216 | size_flags_horizontal = 10
217 | custom_colors/font_color = Color( 1, 0, 0.843137, 1 )
218 | text = "?"
219 | flat = true
220 |
221 | [node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer2/HBoxContainer3"]
222 | margin_left = 498.0
223 | margin_right = 992.0
224 | margin_bottom = 298.0
225 | size_flags_horizontal = 3
226 | size_flags_vertical = 3
227 |
228 | [node name="uncommitted" type="ItemList" parent="VBoxContainer2/HBoxContainer3/VBoxContainer"]
229 | margin_right = 494.0
230 | margin_bottom = 264.0
231 | size_flags_horizontal = 3
232 | size_flags_vertical = 3
233 | select_mode = 1
234 |
235 | [node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer2/HBoxContainer3/VBoxContainer"]
236 | margin_top = 268.0
237 | margin_right = 494.0
238 | margin_bottom = 298.0
239 | custom_constants/separation = 20
240 | alignment = 1
241 |
242 | [node name="choosefilesBtn" type="Button" parent="VBoxContainer2/HBoxContainer3/VBoxContainer/HBoxContainer"]
243 | margin_left = 34.0
244 | margin_right = 127.0
245 | margin_bottom = 30.0
246 | size_flags_horizontal = 4
247 | text = "Select Files"
248 |
249 | [node name="choosedirectoryBtn" type="Button" parent="VBoxContainer2/HBoxContainer3/VBoxContainer/HBoxContainer"]
250 | margin_left = 147.0
251 | margin_right = 269.0
252 | margin_bottom = 30.0
253 | size_flags_horizontal = 4
254 | text = "Select Directory"
255 |
256 | [node name="removefileBtn" type="Button" parent="VBoxContainer2/HBoxContainer3/VBoxContainer/HBoxContainer"]
257 | margin_left = 289.0
258 | margin_right = 459.0
259 | margin_bottom = 30.0
260 | custom_colors/font_color = Color( 1, 0, 0, 1 )
261 | disabled = true
262 | text = "Remove Files/Directory"
263 |
264 | [node name="error" type="Label" parent="VBoxContainer2"]
265 | visible = false
266 | margin_top = 536.0
267 | margin_right = 1004.0
268 | margin_bottom = 550.0
269 | size_flags_horizontal = 3
270 | custom_colors/font_color = Color( 1, 0, 0.235294, 1 )
271 | text = "Error: "
272 | align = 1
273 |
274 | [node name="loading2" type="TextureRect" parent="VBoxContainer2"]
275 | visible = false
276 | material = SubResource( 3 )
277 | margin_left = 477.0
278 | margin_top = 482.0
279 | margin_right = 527.0
280 | margin_bottom = 532.0
281 | rect_min_size = Vector2( 50, 50 )
282 | rect_pivot_offset = Vector2( 25, 25 )
283 | size_flags_horizontal = 4
284 | size_flags_vertical = 8
285 | expand = true
286 | stretch_mode = 6
287 |
288 | [node name="HSeparator11" type="HSeparator" parent="VBoxContainer2"]
289 | margin_top = 484.0
290 | margin_right = 992.0
291 | margin_bottom = 492.0
292 | rect_min_size = Vector2( 0, 8 )
293 | custom_styles/separator = SubResource( 1 )
294 |
295 | [node name="ProgressBar" type="ProgressBar" parent="VBoxContainer2"]
296 | margin_top = 496.0
297 | margin_right = 992.0
298 | margin_bottom = 510.0
299 |
300 | [node name="HSeparator12" type="HSeparator" parent="VBoxContainer2"]
301 | margin_top = 514.0
302 | margin_right = 992.0
303 | margin_bottom = 522.0
304 | rect_min_size = Vector2( 0, 8 )
305 | custom_styles/separator = SubResource( 1 )
306 |
307 | [node name="Button" type="Button" parent="VBoxContainer2"]
308 | margin_left = 429.0
309 | margin_top = 526.0
310 | margin_right = 562.0
311 | margin_bottom = 556.0
312 | size_flags_horizontal = 4
313 | size_flags_vertical = 8
314 | text = "Commit and Push"
315 |
316 | [node name="HSeparator10" type="HSeparator" parent="VBoxContainer2"]
317 | margin_top = 560.0
318 | margin_right = 992.0
319 | margin_bottom = 568.0
320 | rect_min_size = Vector2( 0, 8 )
321 | custom_styles/separator = SubResource( 1 )
322 |
323 | [node name="ChooseFile" type="FileDialog" parent="."]
324 | anchor_left = 0.5
325 | anchor_top = 0.5
326 | anchor_right = 0.5
327 | anchor_bottom = 0.5
328 | margin_left = -437.5
329 | margin_top = -238.0
330 | margin_right = 437.5
331 | margin_bottom = 238.0
332 | window_title = "Open File(s)"
333 | resizable = true
334 | mode = 1
335 | __meta__ = {
336 | "_edit_use_anchors_": false
337 | }
338 | [connection signal="pressed" from="VBoxContainer2/close2" to="." method="_on_close2_pressed"]
339 | [connection signal="visibility_changed" from="VBoxContainer2/loading2" to="." method="_on_loading2_visibility_changed"]
340 | [connection signal="pressed" from="VBoxContainer2/Button" to="." method="_on_Button_pressed"]
341 |
--------------------------------------------------------------------------------
/addons/github-integration/scenes/ContributorClass.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=4 format=2]
2 |
3 | [ext_resource path="res://addons/github-integration/resources/user/circle.png" type="Texture" id=1]
4 | [ext_resource path="res://addons/github-integration/scripts/ContributorClass.gd" type="Script" id=2]
5 | [ext_resource path="res://addons/github-integration/resources/user/RoundAvatar.tres" type="Material" id=3]
6 |
7 | [node name="Contributor" type="HBoxContainer"]
8 | anchor_right = 1.0
9 | anchor_bottom = 1.0
10 | script = ExtResource( 2 )
11 | __meta__ = {
12 | "_edit_use_anchors_": false
13 | }
14 |
15 | [node name="Avatar" type="TextureRect" parent="."]
16 | material = ExtResource( 3 )
17 | margin_right = 40.0
18 | margin_bottom = 600.0
19 | rect_min_size = Vector2( 40, 40 )
20 | texture = ExtResource( 1 )
21 | expand = true
22 | stretch_mode = 6
23 |
24 | [node name="Login" type="Label" parent="."]
25 | margin_left = 44.0
26 | margin_top = 293.0
27 | margin_right = 75.0
28 | margin_bottom = 307.0
29 | text = "login"
30 | __meta__ = {
31 | "_edit_use_anchors_": false
32 | }
33 |
34 | [node name="Name" type="Label" parent="."]
35 | modulate = Color( 1, 1, 1, 0.627451 )
36 | margin_left = 79.0
37 | margin_top = 293.0
38 | margin_right = 115.0
39 | margin_bottom = 307.0
40 | text = "name"
41 |
42 | [node name="HTTPRequest" type="HTTPRequest" parent="."]
43 |
--------------------------------------------------------------------------------
/addons/github-integration/scenes/EditGist.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=9 format=2]
2 |
3 | [ext_resource path="res://addons/file-editor/fonts/Roboto-Black.ttf" type="DynamicFontData" id=1]
4 |
5 | [sub_resource type="StyleBoxEmpty" id=1]
6 |
7 | [sub_resource type="StyleBoxEmpty" id=2]
8 |
9 | [sub_resource type="StyleBoxEmpty" id=3]
10 |
11 | [sub_resource type="StyleBoxEmpty" id=4]
12 |
13 | [sub_resource type="StyleBoxEmpty" id=5]
14 |
15 | [sub_resource type="StyleBoxEmpty" id=6]
16 |
17 | [sub_resource type="DynamicFont" id=7]
18 | font_data = ExtResource( 1 )
19 |
20 | [node name="Readonly" type="CheckBox"]
21 | margin_left = 945.0
22 | margin_right = 1024.0
23 | margin_bottom = 19.0
24 | size_flags_horizontal = 10
25 | custom_styles/hover = SubResource( 1 )
26 | custom_styles/pressed = SubResource( 2 )
27 | custom_styles/focus = SubResource( 3 )
28 | custom_styles/disabled = SubResource( 4 )
29 | custom_styles/hover_pressed = SubResource( 5 )
30 | custom_styles/normal = SubResource( 6 )
31 | custom_fonts/font = SubResource( 7 )
32 | custom_colors/font_color = Color( 0.145098, 0.172549, 0.231373, 1 )
33 | custom_colors/font_color_pressed = Color( 1, 1, 1, 1 )
34 | text = "Can Edit"
35 | flat = true
36 |
--------------------------------------------------------------------------------
/addons/github-integration/scenes/GistItem.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=5 format=2]
2 |
3 | [ext_resource path="res://addons/github-integration/scripts/GistItem.gd" type="Script" id=1]
4 |
5 | [sub_resource type="StyleBoxFlat" id=1]
6 | content_margin_left = 0.0
7 | content_margin_right = 0.0
8 | content_margin_top = 0.0
9 | content_margin_bottom = 0.0
10 | bg_color = Color( 0.6, 0.6, 0.6, 0 )
11 |
12 | [sub_resource type="Image" id=4]
13 | data = {
14 | "data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 175, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 191, 255, 255, 255, 16, 255, 255, 255, 16, 255, 255, 255, 191, 255, 255, 255, 16, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 223, 255, 255, 255, 143, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 143, 255, 255, 255, 223, 255, 255, 255, 16, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 191, 255, 255, 255, 191, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 239, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 112, 255, 255, 255, 223, 255, 255, 255, 32, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 207, 0, 0, 0, 0, 255, 255, 255, 16, 255, 255, 255, 207, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 207, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ),
15 | "format": "RGBA8",
16 | "height": 16,
17 | "mipmaps": false,
18 | "width": 16
19 | }
20 |
21 | [sub_resource type="ImageTexture" id=3]
22 | image = SubResource( 4 )
23 | size = Vector2( 16, 16 )
24 |
25 | [node name="GistItem" type="PanelContainer"]
26 | anchor_right = 1.0
27 | anchor_bottom = 0.04
28 | margin_bottom = -1.90735e-06
29 | rect_min_size = Vector2( 0, 24 )
30 | custom_styles/panel = SubResource( 1 )
31 | script = ExtResource( 1 )
32 | __meta__ = {
33 | "_edit_use_anchors_": false
34 | }
35 |
36 | [node name="BG" type="ColorRect" parent="."]
37 | visible = false
38 | margin_right = 1024.0
39 | margin_bottom = 24.0
40 | color = Color( 0, 0, 0, 0.0588235 )
41 |
42 | [node name="Gist" type="HBoxContainer" parent="."]
43 | margin_right = 1024.0
44 | margin_bottom = 24.0
45 | custom_constants/separation = 0
46 | alignment = 1
47 |
48 | [node name="Name" type="HBoxContainer" parent="Gist"]
49 | margin_right = 512.0
50 | margin_bottom = 24.0
51 | size_flags_horizontal = 3
52 | alignment = 1
53 |
54 | [node name="Icon" type="TextureRect" parent="Gist/Name"]
55 | modulate = Color( 0.337255, 0.32549, 0.329412, 1 )
56 | margin_top = 4.0
57 | margin_right = 16.0
58 | margin_bottom = 20.0
59 | rect_min_size = Vector2( 16, 16 )
60 | size_flags_horizontal = 0
61 | size_flags_vertical = 4
62 | expand = true
63 | stretch_mode = 6
64 |
65 | [node name="Text" type="Label" parent="Gist/Name"]
66 | margin_left = 20.0
67 | margin_top = 5.0
68 | margin_right = 512.0
69 | margin_bottom = 19.0
70 | size_flags_horizontal = 3
71 | text = "GistName"
72 |
73 | [node name="Files" type="HBoxContainer" parent="Gist"]
74 | margin_left = 512.0
75 | margin_right = 1024.0
76 | margin_bottom = 24.0
77 | size_flags_horizontal = 3
78 | alignment = 1
79 |
80 | [node name="Icon" type="TextureRect" parent="Gist/Files"]
81 | modulate = Color( 0.337255, 0.32549, 0.329412, 1 )
82 | margin_top = 4.0
83 | margin_right = 16.0
84 | margin_bottom = 20.0
85 | rect_min_size = Vector2( 16, 16 )
86 | size_flags_horizontal = 0
87 | size_flags_vertical = 4
88 | texture = SubResource( 3 )
89 | expand = true
90 | stretch_mode = 6
91 |
92 | [node name="Amount" type="Label" parent="Gist/Files"]
93 | margin_left = 20.0
94 | margin_top = 5.0
95 | margin_right = 512.0
96 | margin_bottom = 19.0
97 | size_flags_horizontal = 3
98 | text = "Files: 0"
99 | [connection signal="gui_input" from="." to="." method="_on_GistItem_gui_input"]
100 |
--------------------------------------------------------------------------------
/addons/github-integration/scenes/GitHub.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=11 format=2]
2 |
3 | [ext_resource path="res://addons/github-integration/scripts/GitHub.gd" type="Script" id=1]
4 | [ext_resource path="res://addons/github-integration/resources/themes/GitHubTheme-Dark.tres" type="Theme" id=2]
5 | [ext_resource path="res://addons/github-integration/scenes/loading.tscn" type="PackedScene" id=3]
6 | [ext_resource path="res://addons/github-integration/scenes/Header.tscn" type="PackedScene" id=4]
7 | [ext_resource path="res://addons/github-integration/scenes/Commit.tscn" type="PackedScene" id=5]
8 | [ext_resource path="res://addons/github-integration/scenes/SingIn.tscn" type="PackedScene" id=6]
9 | [ext_resource path="res://addons/github-integration/scenes/UserPanel.tscn" type="PackedScene" id=7]
10 | [ext_resource path="res://addons/github-integration/scenes/Repo.tscn" type="PackedScene" id=8]
11 | [ext_resource path="res://addons/github-integration/scenes/Gist.tscn" type="PackedScene" id=9]
12 | [ext_resource path="res://addons/github-integration/scenes/Notifications.tscn" type="PackedScene" id=10]
13 |
14 | [node name="GitHub" type="Control"]
15 | anchor_right = 1.0
16 | anchor_bottom = 1.0
17 | margin_bottom = 1.0
18 | rect_clip_content = true
19 | mouse_filter = 1
20 | size_flags_horizontal = 3
21 | size_flags_vertical = 3
22 | theme = ExtResource( 2 )
23 | script = ExtResource( 1 )
24 | __meta__ = {
25 | "_edit_use_anchors_": false,
26 | "_editor_description_": "1. fixed bug that was resetting the editor mode to light
27 | 2. refactoring
28 | 3. code style revisited"
29 | }
30 |
31 | [node name="VersionCheck" type="HTTPRequest" parent="."]
32 |
33 | [node name="SingIn" parent="." instance=ExtResource( 6 )]
34 | margin_top = 48.0
35 | rect_clip_content = true
36 |
37 | [node name="UserPanel" parent="." instance=ExtResource( 7 )]
38 | visible = false
39 | margin_top = 48.0
40 | rect_clip_content = true
41 |
42 | [node name="Repo" parent="." instance=ExtResource( 8 )]
43 | visible = false
44 | margin_top = 48.0
45 |
46 | [node name="Commit" parent="." instance=ExtResource( 5 )]
47 | visible = false
48 | margin_top = 48.0
49 | rect_clip_content = true
50 |
51 | [node name="Gist" parent="." instance=ExtResource( 9 )]
52 | margin_top = 48.0
53 | rect_clip_content = true
54 | theme = ExtResource( 2 )
55 |
56 | [node name="Notifications" parent="." instance=ExtResource( 10 )]
57 | visible = false
58 | theme = ExtResource( 2 )
59 |
60 | [node name="Header" parent="." instance=ExtResource( 4 )]
61 | anchor_bottom = 0.0
62 | margin_bottom = 48.0
63 | rect_clip_content = true
64 |
65 | [node name="loading" parent="." instance=ExtResource( 3 )]
66 | visible = false
67 | margin_top = 48.0
68 | color = Color( 0, 0, 0, 0.627451 )
69 |
--------------------------------------------------------------------------------
/addons/github-integration/scenes/GreenBtn.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=5 format=2]
2 |
3 | [sub_resource type="StyleBoxFlat" id=1]
4 | content_margin_left = 10.0
5 | content_margin_right = 10.0
6 | content_margin_top = 8.0
7 | content_margin_bottom = 8.0
8 | bg_color = Color( 0.180392, 0.643137, 0.309804, 1 )
9 | border_width_left = 1
10 | border_width_top = 1
11 | border_width_right = 1
12 | border_width_bottom = 1
13 | border_color = Color( 0.160784, 0.462745, 0.247059, 1 )
14 | corner_radius_top_left = 5
15 | corner_radius_top_right = 5
16 | corner_radius_bottom_right = 5
17 | corner_radius_bottom_left = 5
18 | anti_aliasing = false
19 |
20 | [sub_resource type="StyleBoxFlat" id=2]
21 | content_margin_left = 10.0
22 | content_margin_right = 10.0
23 | content_margin_top = 8.0
24 | content_margin_bottom = 8.0
25 | bg_color = Color( 0.180392, 0.643137, 0.309804, 1 )
26 | border_width_left = 1
27 | border_width_top = 1
28 | border_width_right = 1
29 | border_width_bottom = 1
30 | border_color = Color( 0.160784, 0.462745, 0.247059, 1 )
31 | corner_radius_top_left = 5
32 | corner_radius_top_right = 5
33 | corner_radius_bottom_right = 5
34 | corner_radius_bottom_left = 5
35 | shadow_color = Color( 0.117647, 1, 0, 0.6 )
36 | shadow_size = 5
37 | anti_aliasing = false
38 |
39 | [sub_resource type="StyleBoxFlat" id=3]
40 | content_margin_left = 10.0
41 | content_margin_right = 10.0
42 | content_margin_top = 8.0
43 | content_margin_bottom = 8.0
44 | bg_color = Color( 0.294118, 0.380392, 0.317647, 1 )
45 | border_width_left = 1
46 | border_width_top = 1
47 | border_width_right = 1
48 | border_width_bottom = 1
49 | border_color = Color( 0.164706, 0.278431, 0.196078, 1 )
50 | corner_radius_top_left = 5
51 | corner_radius_top_right = 5
52 | corner_radius_bottom_right = 5
53 | corner_radius_bottom_left = 5
54 | anti_aliasing = false
55 |
56 | [sub_resource type="StyleBoxFlat" id=4]
57 | content_margin_left = 10.0
58 | content_margin_right = 10.0
59 | content_margin_top = 8.0
60 | content_margin_bottom = 8.0
61 | bg_color = Color( 0.180392, 0.643137, 0.309804, 1 )
62 | border_width_left = 1
63 | border_width_top = 1
64 | border_width_right = 1
65 | border_width_bottom = 1
66 | border_color = Color( 0.160784, 0.462745, 0.247059, 1 )
67 | corner_radius_top_left = 5
68 | corner_radius_top_right = 5
69 | corner_radius_bottom_right = 5
70 | corner_radius_bottom_left = 5
71 | anti_aliasing = false
72 |
73 | [node name="GreenBtn" type="Button"]
74 | anchor_right = 0.367
75 | anchor_bottom = 0.05
76 | margin_right = 0.191986
77 | rect_min_size = Vector2( 120, 0 )
78 | size_flags_horizontal = 7
79 | custom_styles/hover = SubResource( 1 )
80 | custom_styles/pressed = SubResource( 2 )
81 | custom_styles/focus = SubResource( 2 )
82 | custom_styles/disabled = SubResource( 3 )
83 | custom_styles/normal = SubResource( 4 )
84 | custom_colors/font_color_disabled = Color( 0.6, 0.6, 0.6, 1 )
85 | custom_colors/font_color = Color( 1, 1, 1, 1 )
86 | custom_colors/font_color_hover = Color( 1, 1, 1, 1 )
87 | custom_colors/font_color_pressed = Color( 0.831373, 0.831373, 0.831373, 1 )
88 | text = "green button"
89 | __meta__ = {
90 | "_edit_use_anchors_": false
91 | }
92 |
--------------------------------------------------------------------------------
/addons/github-integration/scenes/InvitationItem.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=7 format=2]
2 |
3 | [ext_resource path="res://addons/github-integration/scripts/InvitationItem.gd" type="Script" id=1]
4 | [ext_resource path="res://addons/github-integration/icons/deny.png" type="Texture" id=2]
5 | [ext_resource path="res://addons/github-integration/icons/accept.png" type="Texture" id=3]
6 | [ext_resource path="res://addons/github-integration/resources/user/circle.png" type="Texture" id=4]
7 | [ext_resource path="res://addons/github-integration/resources/user/RoundAvatar.tres" type="Material" id=5]
8 |
9 | [sub_resource type="StyleBoxEmpty" id=1]
10 |
11 | [node name="InvitationItem" type="HBoxContainer"]
12 | anchor_right = 1.0
13 | anchor_bottom = 1.0
14 | custom_constants/separation = 0
15 | script = ExtResource( 1 )
16 | __meta__ = {
17 | "_edit_use_anchors_": false
18 | }
19 |
20 | [node name="Avatar" type="TextureRect" parent="."]
21 | material = ExtResource( 5 )
22 | margin_top = 280.0
23 | margin_right = 40.0
24 | margin_bottom = 320.0
25 | rect_min_size = Vector2( 40, 40 )
26 | size_flags_horizontal = 0
27 | size_flags_vertical = 4
28 | texture = ExtResource( 4 )
29 | expand = true
30 | stretch_mode = 6
31 |
32 | [node name="VSeparator" type="VSeparator" parent="."]
33 | margin_left = 40.0
34 | margin_right = 47.0
35 | margin_bottom = 600.0
36 | custom_styles/separator = SubResource( 1 )
37 | custom_constants/separation = 7
38 | __meta__ = {
39 | "_edit_use_anchors_": false
40 | }
41 |
42 | [node name="User" type="LinkButton" parent="."]
43 | margin_left = 47.0
44 | margin_top = 293.0
45 | margin_right = 75.0
46 | margin_bottom = 307.0
47 | size_flags_vertical = 4
48 | text = "user"
49 |
50 | [node name="Label" type="Label" parent="."]
51 | margin_left = 75.0
52 | margin_top = 293.0
53 | margin_right = 258.0
54 | margin_bottom = 307.0
55 | text = "invited you to collaborate on"
56 |
57 | [node name="Repository" type="LinkButton" parent="."]
58 | margin_left = 258.0
59 | margin_top = 293.0
60 | margin_right = 287.0
61 | margin_bottom = 307.0
62 | size_flags_vertical = 4
63 | text = "repo"
64 |
65 | [node name="Label2" type="Label" parent="."]
66 | margin_left = 287.0
67 | margin_top = 293.0
68 | margin_right = 401.0
69 | margin_bottom = 307.0
70 | text = "with permissions:"
71 |
72 | [node name="Permissions" type="Label" parent="."]
73 | margin_left = 401.0
74 | margin_top = 293.0
75 | margin_right = 473.0
76 | margin_bottom = 307.0
77 | text = "permission"
78 |
79 | [node name="Result" type="Label" parent="."]
80 | margin_left = 861.0
81 | margin_top = 293.0
82 | margin_right = 861.0
83 | margin_bottom = 307.0
84 | size_flags_horizontal = 10
85 |
86 | [node name="AcceptBtn" type="Button" parent="."]
87 | margin_left = 861.0
88 | margin_right = 940.0
89 | margin_bottom = 600.0
90 | size_flags_horizontal = 8
91 | custom_colors/font_color = Color( 0, 0.815686, 0.0705882, 1 )
92 | custom_constants/hseparation = 5
93 | text = "Accept"
94 | icon = ExtResource( 3 )
95 | flat = true
96 |
97 | [node name="VSeparator2" type="VSeparator" parent="."]
98 | visible = false
99 | margin_left = 1016.0
100 | margin_right = 1024.0
101 | margin_bottom = 600.0
102 | custom_styles/separator = SubResource( 1 )
103 | custom_constants/separation = 8
104 | __meta__ = {
105 | "_edit_use_anchors_": false
106 | }
107 |
108 | [node name="DeclineBtn" type="Button" parent="."]
109 | margin_left = 940.0
110 | margin_right = 1024.0
111 | margin_bottom = 600.0
112 | custom_colors/font_color = Color( 1, 0, 0.270588, 1 )
113 | custom_constants/hseparation = 5
114 | text = "Decline"
115 | icon = ExtResource( 2 )
116 | flat = true
117 |
118 | [node name="HTTPRequest" type="HTTPRequest" parent="."]
119 | use_threads = true
120 |
--------------------------------------------------------------------------------
/addons/github-integration/scenes/NewRepo.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=3 format=2]
2 |
3 | [ext_resource path="res://addons/github-integration/scripts/WindowDialog.gd" type="Script" id=1]
4 |
5 | [sub_resource type="StyleBoxEmpty" id=3]
6 |
7 | [node name="NewRepo" type="ConfirmationDialog"]
8 | anchor_left = 0.5
9 | anchor_top = 0.5
10 | anchor_right = 0.5
11 | anchor_bottom = 0.5
12 | margin_left = -288.5
13 | margin_top = -133.5
14 | margin_right = 288.5
15 | margin_bottom = 133.5
16 | popup_exclusive = true
17 | window_title = "[Create a new Repository]"
18 | dialog_hide_on_ok = false
19 | script = ExtResource( 1 )
20 | __meta__ = {
21 | "_edit_use_anchors_": false
22 | }
23 |
24 | [node name="VBoxContainer" type="VBoxContainer" parent="."]
25 | anchor_left = 0.5
26 | anchor_top = 0.5
27 | anchor_right = 0.5
28 | anchor_bottom = 0.5
29 | margin_left = -280.5
30 | margin_top = -125.5
31 | margin_right = 280.5
32 | margin_bottom = 97.5
33 |
34 | [node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
35 | margin_right = 561.0
36 | margin_bottom = 24.0
37 |
38 | [node name="Label" type="Label" parent="VBoxContainer/HBoxContainer"]
39 | margin_top = 5.0
40 | margin_right = 278.0
41 | margin_bottom = 19.0
42 | size_flags_horizontal = 3
43 | text = "Repository Name:"
44 |
45 | [node name="nome" type="LineEdit" parent="VBoxContainer/HBoxContainer"]
46 | margin_left = 282.0
47 | margin_right = 561.0
48 | margin_bottom = 24.0
49 | size_flags_horizontal = 3
50 |
51 | [node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer"]
52 | margin_top = 28.0
53 | margin_right = 561.0
54 | margin_bottom = 52.0
55 |
56 | [node name="Label" type="Label" parent="VBoxContainer/HBoxContainer2"]
57 | margin_top = 5.0
58 | margin_right = 278.0
59 | margin_bottom = 19.0
60 | size_flags_horizontal = 3
61 | text = "Repository Description:"
62 |
63 | [node name="descrizione" type="LineEdit" parent="VBoxContainer/HBoxContainer2"]
64 | margin_left = 282.0
65 | margin_right = 561.0
66 | margin_bottom = 24.0
67 | size_flags_horizontal = 3
68 |
69 | [node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer"]
70 | margin_top = 56.0
71 | margin_right = 561.0
72 | margin_bottom = 76.0
73 |
74 | [node name="Label" type="Label" parent="VBoxContainer/HBoxContainer3"]
75 | margin_top = 3.0
76 | margin_right = 278.0
77 | margin_bottom = 17.0
78 | size_flags_horizontal = 3
79 | text = "Privacy:"
80 |
81 | [node name="privacy" type="OptionButton" parent="VBoxContainer/HBoxContainer3"]
82 | margin_left = 282.0
83 | margin_right = 561.0
84 | margin_bottom = 20.0
85 | size_flags_horizontal = 3
86 | text = "Private"
87 | items = [ "Private", null, false, 0, null, "Public", null, false, 1, null ]
88 | selected = 0
89 |
90 | [node name="HBoxContainer4" type="HBoxContainer" parent="VBoxContainer"]
91 | margin_top = 80.0
92 | margin_right = 561.0
93 | margin_bottom = 104.0
94 |
95 | [node name="Label" type="Label" parent="VBoxContainer/HBoxContainer4"]
96 | margin_top = 5.0
97 | margin_right = 278.0
98 | margin_bottom = 19.0
99 | size_flags_horizontal = 3
100 | text = "Initialize with README:"
101 |
102 | [node name="readme" type="CheckBox" parent="VBoxContainer/HBoxContainer4"]
103 | margin_left = 282.0
104 | margin_right = 561.0
105 | margin_bottom = 24.0
106 | size_flags_horizontal = 3
107 |
108 | [node name="HBoxContainer5" type="HBoxContainer" parent="VBoxContainer"]
109 | margin_top = 108.0
110 | margin_right = 561.0
111 | margin_bottom = 128.0
112 |
113 | [node name="Label" type="Label" parent="VBoxContainer/HBoxContainer5"]
114 | margin_top = 3.0
115 | margin_right = 278.0
116 | margin_bottom = 17.0
117 | size_flags_horizontal = 3
118 | text = "Add .gitignore:"
119 |
120 | [node name="gitignore" type="OptionButton" parent="VBoxContainer/HBoxContainer5"]
121 | margin_left = 282.0
122 | margin_right = 561.0
123 | margin_bottom = 20.0
124 | size_flags_horizontal = 3
125 | text = "Haskell"
126 | items = [ "Haskell", null, false, 0, "Haskell", "Godot", null, false, 1, null ]
127 | selected = 0
128 |
129 | [node name="HBoxContainer6" type="HBoxContainer" parent="VBoxContainer"]
130 | margin_top = 132.0
131 | margin_right = 561.0
132 | margin_bottom = 152.0
133 |
134 | [node name="Label" type="Label" parent="VBoxContainer/HBoxContainer6"]
135 | margin_top = 3.0
136 | margin_right = 278.0
137 | margin_bottom = 17.0
138 | size_flags_horizontal = 3
139 | text = "Add license:"
140 |
141 | [node name="license" type="OptionButton" parent="VBoxContainer/HBoxContainer6"]
142 | margin_left = 282.0
143 | margin_right = 561.0
144 | margin_bottom = 20.0
145 | size_flags_horizontal = 3
146 | text = "Academic Free License v3.0"
147 | items = [ "Academic Free License v3.0", null, false, 0, "afl-3.0", "Apache license 2.0", null, false, 1, "apache-2.0", "Artistic license 2.0", null, false, 2, "artistic-2.0", "Boost Software License 1.0", null, false, 3, "bsl-1.0", "BSD 2-clause \"Simplified\" license", null, false, 4, "bsd-2-clause", "BSD 3-clause \"New\" or \"Revised\" license", null, false, 5, "bsd-3-clause", "BSD 3-clause Clear license", null, false, 6, "bsd-3-clause-clear", "Creative Commons license family", null, false, 7, "cc", "Creative Commons Zero v1.0 Universal", null, false, 8, "cc0-1.0", "Creative Commons Attribution 4.0", null, false, 9, "cc-by-4.0", "Creative Commons Attribution Share Alike 4.0", null, false, 10, "cc-by-sa-4.0", "Do What The F*ck You Want To Public License", null, false, 11, "wtfpl", "Educational Community License v2.0", null, false, 12, "ecl-2.0", "Eclipse Public License 1.0", null, false, 13, "epl-1.0", "European Union Public License 1.1", null, false, 14, "eupl-1.1", "GNU Affero General Public License v3.0", null, false, 15, "agpl-3.0", "GNU General Public License family", null, false, 16, "gpl", "GNU General Public License v2.0", null, false, 17, "gpl-2.0", "GNU General Public License v3.0", null, false, 18, "gpl-3.0", "GNU Lesser General Public License family", null, false, 19, "lgpl", "GNU Lesser General Public License v2.1", null, false, 20, "lgpl-2.1", "GNU Lesser General Public License v3.0", null, false, 21, "lgpl-3.0", "ISC", null, false, 22, "isc", "LaTeX Project Public License v1.3c", null, false, 23, "lppl-1.3c", "Microsoft Public License", null, false, 24, "ms-pl", "MIT", null, false, 25, "mit", "Mozilla Public License 2.0", null, false, 26, "mpl-2.0", "Open Software License 3.0", null, false, 27, "osl-3.0", "PostgreSQL License", null, false, 28, "postgresql", "SIL Open Font License 1.1", null, false, 29, "ofl-1.1", "University of Illinois/NCSA Open Source License", null, false, 30, "ncsa", "The Unlicense", null, false, 31, "unlicense", "zLib License", null, false, 32, "zlib" ]
148 | selected = 0
149 |
150 | [node name="HSeparator8" type="HSeparator" parent="VBoxContainer"]
151 | visible = false
152 | margin_top = 184.0
153 | margin_right = 561.0
154 | margin_bottom = 192.0
155 | rect_min_size = Vector2( 0, 8 )
156 | custom_styles/separator = SubResource( 3 )
157 |
158 | [node name="error" type="Label" parent="VBoxContainer"]
159 | visible = false
160 | margin_top = 184.0
161 | margin_right = 561.0
162 | margin_bottom = 203.0
163 | size_flags_horizontal = 3
164 | custom_colors/font_color = Color( 1, 0, 0.235294, 1 )
165 | text = "Error: "
166 | align = 1
167 | [connection signal="confirmed" from="." to="." method="_on_NewRepo_confirmed"]
168 |
--------------------------------------------------------------------------------
/addons/github-integration/scenes/NormalBtn.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene format=2]
2 |
3 | [node name="NormalBtn" type="Button"]
4 | anchor_right = 0.117
5 | anchor_bottom = 0.053
6 | margin_right = 0.191994
7 | margin_bottom = 0.199999
8 | text = "normal button"
9 | __meta__ = {
10 | "_edit_use_anchors_": false
11 | }
12 |
--------------------------------------------------------------------------------
/addons/github-integration/scenes/Notifications.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=6 format=2]
2 |
3 | [ext_resource path="res://addons/github-integration/scripts/Notifications.gd" type="Script" id=1]
4 | [ext_resource path="res://addons/github-integration/resources/themes/GitHubTheme.tres" type="Theme" id=2]
5 |
6 | [sub_resource type="StyleBoxEmpty" id=1]
7 |
8 | [sub_resource type="StyleBoxFlat" id=2]
9 | content_margin_left = 5.0
10 | content_margin_bottom = 4.0
11 | draw_center = false
12 | border_width_bottom = 1
13 |
14 | [sub_resource type="StyleBoxEmpty" id=3]
15 | content_margin_left = 7.0
16 |
17 | [node name="Notifications" type="Control"]
18 | anchor_right = 1.0
19 | anchor_bottom = 1.0
20 | margin_top = 48.0
21 | theme = ExtResource( 2 )
22 | script = ExtResource( 1 )
23 | __meta__ = {
24 | "_edit_use_anchors_": false
25 | }
26 |
27 | [node name="BG" type="ColorRect" parent="."]
28 | anchor_right = 1.0
29 | anchor_bottom = 1.0
30 | margin_left = 1.0
31 | margin_right = 1.0
32 |
33 | [node name="NotificationsContainer" type="VBoxContainer" parent="."]
34 | anchor_right = 1.0
35 | anchor_bottom = 1.0
36 | margin_left = 8.0
37 | margin_top = 8.0
38 | margin_right = -8.0
39 | margin_bottom = -8.0
40 | __meta__ = {
41 | "_edit_use_anchors_": false
42 | }
43 |
44 | [node name="NotificationsTabs" type="HBoxContainer" parent="NotificationsContainer"]
45 | margin_right = 1008.0
46 | margin_bottom = 536.0
47 | size_flags_horizontal = 3
48 | size_flags_vertical = 3
49 | custom_constants/separation = 8
50 |
51 | [node name="NotificationsTree" type="Tree" parent="NotificationsContainer/NotificationsTabs"]
52 | margin_right = 180.0
53 | margin_bottom = 536.0
54 | rect_min_size = Vector2( 180, 0 )
55 | hide_folding = true
56 | hide_root = true
57 |
58 | [node name="Tabs" type="VBoxContainer" parent="NotificationsContainer/NotificationsTabs"]
59 | margin_left = 188.0
60 | margin_right = 1008.0
61 | margin_bottom = 536.0
62 | size_flags_horizontal = 3
63 |
64 | [node name="HSeparator" type="HSeparator" parent="NotificationsContainer/NotificationsTabs/Tabs"]
65 | margin_right = 820.0
66 | margin_bottom = 10.0
67 | custom_styles/separator = SubResource( 1 )
68 | custom_constants/separation = 10
69 |
70 | [node name="Invitations" type="VBoxContainer" parent="NotificationsContainer/NotificationsTabs/Tabs"]
71 | visible = false
72 | margin_top = 14.0
73 | margin_right = 820.0
74 | margin_bottom = 198.0
75 | size_flags_horizontal = 3
76 | size_flags_vertical = 3
77 |
78 | [node name="Label" type="Label" parent="NotificationsContainer/NotificationsTabs/Tabs/Invitations"]
79 | margin_right = 820.0
80 | margin_bottom = 22.0
81 | text = "There are 0 invitations received"
82 |
83 | [node name="Settings" type="VBoxContainer" parent="NotificationsContainer/NotificationsTabs/Tabs"]
84 | margin_top = 14.0
85 | margin_right = 820.0
86 | margin_bottom = 536.0
87 | size_flags_horizontal = 3
88 | size_flags_vertical = 3
89 | custom_constants/separation = 20
90 |
91 | [node name="Notifications" type="VBoxContainer" parent="NotificationsContainer/NotificationsTabs/Tabs/Settings"]
92 | margin_right = 820.0
93 | margin_bottom = 84.0
94 | custom_constants/separation = 0
95 |
96 | [node name="Label" type="Label" parent="NotificationsContainer/NotificationsTabs/Tabs/Settings/Notifications"]
97 | margin_right = 820.0
98 | margin_bottom = 18.0
99 | custom_styles/normal = SubResource( 2 )
100 | custom_colors/font_color_shadow = Color( 0, 0, 0, 0.392157 )
101 | text = "Notifications Settings"
102 |
103 | [node name="AutoUpdateNotificationsChk" type="CheckButton" parent="NotificationsContainer/NotificationsTabs/Tabs/Settings/Notifications"]
104 | margin_top = 18.0
105 | margin_right = 820.0
106 | margin_bottom = 52.0
107 | rect_min_size = Vector2( 300, 0 )
108 | pressed = true
109 | text = "Auto update notifications"
110 |
111 | [node name="AutoUpdateTimer" type="HBoxContainer" parent="NotificationsContainer/NotificationsTabs/Tabs/Settings/Notifications"]
112 | margin_top = 52.0
113 | margin_right = 820.0
114 | margin_bottom = 84.0
115 |
116 | [node name="Label" type="Label" parent="NotificationsContainer/NotificationsTabs/Tabs/Settings/Notifications/AutoUpdateTimer"]
117 | margin_top = 9.0
118 | margin_right = 687.0
119 | margin_bottom = 23.0
120 | size_flags_horizontal = 3
121 | custom_styles/normal = SubResource( 3 )
122 | text = "Auto update notifications timer"
123 |
124 | [node name="Amount" type="LineEdit" parent="NotificationsContainer/NotificationsTabs/Tabs/Settings/Notifications/AutoUpdateTimer"]
125 | margin_left = 691.0
126 | margin_right = 755.0
127 | margin_bottom = 32.0
128 | text = "5"
129 | align = 1
130 |
131 | [node name="Label2" type="Label" parent="NotificationsContainer/NotificationsTabs/Tabs/Settings/Notifications/AutoUpdateTimer"]
132 | margin_left = 759.0
133 | margin_top = 5.0
134 | margin_right = 820.0
135 | margin_bottom = 27.0
136 | text = "minutes"
137 |
138 | [node name="Plugin" type="VBoxContainer" parent="NotificationsContainer/NotificationsTabs/Tabs/Settings"]
139 | margin_top = 104.0
140 | margin_right = 820.0
141 | margin_bottom = 230.0
142 | size_flags_vertical = 3
143 | custom_constants/separation = 0
144 |
145 | [node name="Label" type="Label" parent="NotificationsContainer/NotificationsTabs/Tabs/Settings/Plugin"]
146 | margin_right = 820.0
147 | margin_bottom = 18.0
148 | custom_styles/normal = SubResource( 2 )
149 | custom_colors/font_color_shadow = Color( 0, 0, 0, 0.392157 )
150 | text = "Plugin Settings"
151 |
152 | [node name="DebugMessagesChk" type="CheckButton" parent="NotificationsContainer/NotificationsTabs/Tabs/Settings/Plugin"]
153 | margin_top = 18.0
154 | margin_right = 820.0
155 | margin_bottom = 52.0
156 | rect_min_size = Vector2( 300, 0 )
157 | pressed = true
158 | text = "Debug messages in output console"
159 |
160 | [node name="AutoLoginChk" type="CheckButton" parent="NotificationsContainer/NotificationsTabs/Tabs/Settings/Plugin"]
161 | margin_top = 52.0
162 | margin_right = 820.0
163 | margin_bottom = 86.0
164 | rect_min_size = Vector2( 300, 0 )
165 | text = "Auto login at plugin startup"
166 |
167 | [node name="DarkmodeChk" type="CheckButton" parent="NotificationsContainer/NotificationsTabs/Tabs/Settings/Plugin"]
168 | margin_top = 86.0
169 | margin_right = 820.0
170 | margin_bottom = 120.0
171 | rect_min_size = Vector2( 300, 0 )
172 | pressed = true
173 | text = "Darkmode"
174 |
175 | [node name="Repositories" type="VBoxContainer" parent="NotificationsContainer/NotificationsTabs/Tabs/Settings"]
176 | margin_top = 250.0
177 | margin_right = 820.0
178 | margin_bottom = 376.0
179 | size_flags_vertical = 3
180 | custom_constants/separation = 0
181 |
182 | [node name="Label" type="Label" parent="NotificationsContainer/NotificationsTabs/Tabs/Settings/Repositories"]
183 | margin_right = 820.0
184 | margin_bottom = 18.0
185 | custom_styles/normal = SubResource( 2 )
186 | custom_colors/font_color_shadow = Color( 0, 0, 0, 0.392157 )
187 | text = "Repositories"
188 |
189 | [node name="OwnerAffiliations" type="HBoxContainer" parent="NotificationsContainer/NotificationsTabs/Tabs/Settings/Repositories"]
190 | margin_top = 18.0
191 | margin_right = 820.0
192 | margin_bottom = 40.0
193 | custom_constants/separation = 10
194 |
195 | [node name="Label" type="Label" parent="NotificationsContainer/NotificationsTabs/Tabs/Settings/Repositories/OwnerAffiliations"]
196 | margin_right = 158.0
197 | margin_bottom = 22.0
198 | text = "Filter owner affiliations:"
199 |
200 | [node name="Owner" type="CheckBox" parent="NotificationsContainer/NotificationsTabs/Tabs/Settings/Repositories/OwnerAffiliations"]
201 | margin_left = 470.0
202 | margin_right = 535.0
203 | margin_bottom = 22.0
204 | size_flags_horizontal = 10
205 | text = "owner"
206 |
207 | [node name="Collaborator" type="CheckBox" parent="NotificationsContainer/NotificationsTabs/Tabs/Settings/Repositories/OwnerAffiliations"]
208 | margin_left = 545.0
209 | margin_right = 647.0
210 | margin_bottom = 22.0
211 | text = "collaborator"
212 |
213 | [node name="OrganizationMember" type="CheckBox" parent="NotificationsContainer/NotificationsTabs/Tabs/Settings/Repositories/OwnerAffiliations"]
214 | margin_left = 657.0
215 | margin_right = 820.0
216 | margin_bottom = 22.0
217 | text = "organization member"
218 |
219 | [node name="ResetPluginBtn" type="Button" parent="NotificationsContainer/NotificationsTabs/Tabs/Settings"]
220 | margin_top = 492.0
221 | margin_right = 127.0
222 | margin_bottom = 522.0
223 | size_flags_horizontal = 0
224 | size_flags_vertical = 10
225 | custom_colors/font_color = Color( 1, 0, 0, 1 )
226 | custom_colors/font_color_hover = Color( 0, 0, 0, 1 )
227 | text = "Reset this plugin"
228 |
229 | [node name="Timer" type="Timer" parent="."]
230 | wait_time = 300.0
231 |
232 | [node name="ResetPluginDialog" type="ConfirmationDialog" parent="."]
233 | anchor_left = 0.5
234 | anchor_top = 0.5
235 | anchor_right = 0.5
236 | anchor_bottom = 0.5
237 | margin_left = -327.5
238 | margin_top = -46.5
239 | margin_right = 327.5
240 | margin_bottom = 46.5
241 | window_title = "Reset this plugin"
242 | dialog_text = "Resetting this plugin will delete everything that was stored from the first time.
243 | Continue only if you don't want to use this plugin anymore, or if it was suggested by the developer."
244 |
--------------------------------------------------------------------------------
/addons/github-integration/scenes/RedBtn.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=5 format=2]
2 |
3 | [sub_resource type="StyleBoxFlat" id=1]
4 | content_margin_left = 10.0
5 | content_margin_right = 10.0
6 | content_margin_top = 8.0
7 | content_margin_bottom = 8.0
8 | bg_color = Color( 0.643137, 0.180392, 0.211765, 1 )
9 | border_width_left = 1
10 | border_width_top = 1
11 | border_width_right = 1
12 | border_width_bottom = 1
13 | border_color = Color( 0.462745, 0.160784, 0.180392, 1 )
14 | corner_radius_top_left = 5
15 | corner_radius_top_right = 5
16 | corner_radius_bottom_right = 5
17 | corner_radius_bottom_left = 5
18 | anti_aliasing = false
19 |
20 | [sub_resource type="StyleBoxFlat" id=2]
21 | content_margin_left = 10.0
22 | content_margin_right = 10.0
23 | content_margin_top = 8.0
24 | content_margin_bottom = 8.0
25 | bg_color = Color( 0.643137, 0.180392, 0.211765, 1 )
26 | border_width_left = 1
27 | border_width_top = 1
28 | border_width_right = 1
29 | border_width_bottom = 1
30 | border_color = Color( 0.462745, 0.160784, 0.188235, 1 )
31 | corner_radius_top_left = 5
32 | corner_radius_top_right = 5
33 | corner_radius_bottom_right = 5
34 | corner_radius_bottom_left = 5
35 | shadow_color = Color( 1, 0, 0.0941176, 0.6 )
36 | shadow_size = 5
37 | anti_aliasing = false
38 |
39 | [sub_resource type="StyleBoxFlat" id=3]
40 | content_margin_left = 10.0
41 | content_margin_right = 10.0
42 | content_margin_top = 8.0
43 | content_margin_bottom = 8.0
44 | bg_color = Color( 0.380392, 0.294118, 0.301961, 1 )
45 | border_width_left = 1
46 | border_width_top = 1
47 | border_width_right = 1
48 | border_width_bottom = 1
49 | border_color = Color( 0.278431, 0.164706, 0.176471, 1 )
50 | corner_radius_top_left = 5
51 | corner_radius_top_right = 5
52 | corner_radius_bottom_right = 5
53 | corner_radius_bottom_left = 5
54 | anti_aliasing = false
55 |
56 | [sub_resource type="StyleBoxFlat" id=4]
57 | content_margin_left = 10.0
58 | content_margin_right = 10.0
59 | content_margin_top = 8.0
60 | content_margin_bottom = 8.0
61 | bg_color = Color( 0.643137, 0.180392, 0.223529, 1 )
62 | border_width_left = 1
63 | border_width_top = 1
64 | border_width_right = 1
65 | border_width_bottom = 1
66 | border_color = Color( 0.462745, 0.160784, 0.180392, 1 )
67 | corner_radius_top_left = 5
68 | corner_radius_top_right = 5
69 | corner_radius_bottom_right = 5
70 | corner_radius_bottom_left = 5
71 | anti_aliasing = false
72 |
73 | [node name="RedBtn" type="Button"]
74 | anchor_right = 0.367
75 | anchor_bottom = 0.05
76 | margin_right = 0.191986
77 | rect_min_size = Vector2( 120, 0 )
78 | size_flags_horizontal = 7
79 | custom_styles/hover = SubResource( 1 )
80 | custom_styles/pressed = SubResource( 2 )
81 | custom_styles/focus = SubResource( 2 )
82 | custom_styles/disabled = SubResource( 3 )
83 | custom_styles/normal = SubResource( 4 )
84 | custom_colors/font_color_disabled = Color( 0.6, 0.6, 0.6, 1 )
85 | custom_colors/font_color = Color( 1, 1, 1, 1 )
86 | text = "red button"
87 | __meta__ = {
88 | "_edit_use_anchors_": false
89 | }
90 |
--------------------------------------------------------------------------------
/addons/github-integration/scenes/RepositoryItem.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=7 format=2]
2 |
3 | [ext_resource path="res://addons/github-integration/scripts/RepositoryItem.gd" type="Script" id=1]
4 |
5 | [sub_resource type="StyleBoxFlat" id=1]
6 | content_margin_left = 0.0
7 | content_margin_right = 0.0
8 | content_margin_top = 0.0
9 | content_margin_bottom = 0.0
10 | bg_color = Color( 0, 0, 0, 0 )
11 |
12 | [sub_resource type="Image" id=6]
13 | data = {
14 | "data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 175, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 48, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 159, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 16, 255, 255, 255, 48, 255, 255, 255, 80, 255, 255, 255, 112, 255, 255, 255, 143, 255, 255, 255, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 143, 255, 255, 255, 127, 255, 255, 255, 64, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 80, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 255, 255, 255, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 255, 255, 255, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 159, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 223, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 255, 255, 255, 223, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 239, 255, 255, 255, 112, 255, 255, 255, 16, 0, 0, 0, 0, 255, 255, 255, 112, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 159, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 159, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ),
15 | "format": "RGBA8",
16 | "height": 16,
17 | "mipmaps": false,
18 | "width": 16
19 | }
20 |
21 | [sub_resource type="ImageTexture" id=3]
22 | image = SubResource( 6 )
23 | size = Vector2( 16, 16 )
24 |
25 | [sub_resource type="Image" id=7]
26 | data = {
27 | "data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 197, 255, 255, 255, 223, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 197, 255, 255, 255, 223, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 211, 255, 255, 255, 16, 255, 255, 255, 16, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 211, 255, 255, 255, 16, 255, 255, 255, 16, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 211, 0, 0, 0, 0, 255, 255, 255, 16, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 211, 0, 0, 0, 0, 255, 255, 255, 16, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 239, 255, 255, 255, 207, 255, 255, 255, 96, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 239, 255, 255, 255, 207, 255, 255, 255, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 239, 255, 255, 255, 255, 255, 255, 255, 112, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 112, 255, 255, 255, 255, 255, 255, 255, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 239, 255, 255, 255, 255, 255, 255, 255, 112, 255, 255, 255, 112, 255, 255, 255, 255, 255, 255, 255, 223, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 223, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 32, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 239, 255, 255, 255, 255, 255, 255, 255, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 211, 255, 255, 255, 16, 255, 255, 255, 16, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 211, 0, 0, 0, 0, 255, 255, 255, 16, 255, 255, 255, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 64, 255, 255, 255, 239, 255, 255, 255, 197, 255, 255, 255, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ),
28 | "format": "RGBA8",
29 | "height": 16,
30 | "mipmaps": false,
31 | "width": 16
32 | }
33 |
34 | [sub_resource type="ImageTexture" id=5]
35 | image = SubResource( 7 )
36 | size = Vector2( 16, 16 )
37 |
38 | [node name="RepositoryItem" type="PanelContainer"]
39 | anchor_right = 1.0
40 | anchor_bottom = 0.04
41 | margin_bottom = -1.90735e-06
42 | rect_min_size = Vector2( 0, 24 )
43 | custom_styles/panel = SubResource( 1 )
44 | script = ExtResource( 1 )
45 | __meta__ = {
46 | "_edit_use_anchors_": false
47 | }
48 |
49 | [node name="BG" type="ColorRect" parent="."]
50 | visible = false
51 | margin_right = 1024.0
52 | margin_bottom = 24.0
53 | color = Color( 0, 0, 0, 0.0588235 )
54 |
55 | [node name="Repository" type="HBoxContainer" parent="."]
56 | margin_right = 1024.0
57 | margin_bottom = 24.0
58 | custom_constants/separation = 0
59 | alignment = 1
60 |
61 | [node name="Name" type="HBoxContainer" parent="Repository"]
62 | margin_right = 341.0
63 | margin_bottom = 24.0
64 | size_flags_horizontal = 3
65 | alignment = 1
66 |
67 | [node name="Collaborator" type="TextureRect" parent="Repository/Name"]
68 | modulate = Color( 0, 0.392157, 1, 1 )
69 | margin_top = 4.0
70 | margin_right = 16.0
71 | margin_bottom = 20.0
72 | rect_min_size = Vector2( 16, 16 )
73 | size_flags_horizontal = 0
74 | size_flags_vertical = 4
75 | expand = true
76 | stretch_mode = 6
77 |
78 | [node name="Icon" type="TextureRect" parent="Repository/Name"]
79 | modulate = Color( 0.337255, 0.32549, 0.329412, 1 )
80 | light_mask = -2147483647
81 | margin_left = 20.0
82 | margin_top = 4.0
83 | margin_right = 36.0
84 | margin_bottom = 20.0
85 | rect_min_size = Vector2( 16, 16 )
86 | size_flags_horizontal = 0
87 | size_flags_vertical = 4
88 | expand = true
89 | stretch_mode = 6
90 |
91 | [node name="Text" type="Label" parent="Repository/Name"]
92 | margin_left = 40.0
93 | margin_top = 5.0
94 | margin_right = 341.0
95 | margin_bottom = 19.0
96 | size_flags_horizontal = 3
97 | text = "RepositoryName"
98 |
99 | [node name="Stars" type="HBoxContainer" parent="Repository"]
100 | margin_left = 341.0
101 | margin_right = 682.0
102 | margin_bottom = 24.0
103 | size_flags_horizontal = 3
104 | alignment = 1
105 |
106 | [node name="Icon" type="TextureRect" parent="Repository/Stars"]
107 | modulate = Color( 0.337255, 0.32549, 0.329412, 1 )
108 | margin_top = 4.0
109 | margin_right = 16.0
110 | margin_bottom = 20.0
111 | rect_min_size = Vector2( 16, 16 )
112 | size_flags_horizontal = 0
113 | size_flags_vertical = 4
114 | texture = SubResource( 3 )
115 | expand = true
116 | stretch_mode = 6
117 |
118 | [node name="Amount" type="Label" parent="Repository/Stars"]
119 | margin_left = 20.0
120 | margin_top = 5.0
121 | margin_right = 341.0
122 | margin_bottom = 19.0
123 | size_flags_horizontal = 3
124 | text = "Stars: 0"
125 |
126 | [node name="Forks" type="HBoxContainer" parent="Repository"]
127 | margin_left = 682.0
128 | margin_right = 1024.0
129 | margin_bottom = 24.0
130 | size_flags_horizontal = 3
131 | alignment = 1
132 |
133 | [node name="Icon" type="TextureRect" parent="Repository/Forks"]
134 | modulate = Color( 0.337255, 0.32549, 0.329412, 1 )
135 | margin_top = 4.0
136 | margin_right = 16.0
137 | margin_bottom = 20.0
138 | rect_min_size = Vector2( 16, 16 )
139 | size_flags_horizontal = 0
140 | size_flags_vertical = 4
141 | texture = SubResource( 5 )
142 | expand = true
143 | stretch_mode = 6
144 |
145 | [node name="Amount" type="Label" parent="Repository/Forks"]
146 | margin_left = 20.0
147 | margin_top = 5.0
148 | margin_right = 342.0
149 | margin_bottom = 19.0
150 | size_flags_horizontal = 3
151 | text = "Forks: 0"
152 |
153 | [connection signal="gui_input" from="." to="." method="_on_RepositoryItem_gui_input"]
154 |
--------------------------------------------------------------------------------
/addons/github-integration/scenes/RestHandler.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=2 format=2]
2 |
3 | [ext_resource path="res://addons/github-integration/scripts/RestHandler.gd" type="Script" id=1]
4 |
5 | [node name="Node" type="Node"]
6 | script = ExtResource( 1 )
7 |
8 | [node name="Client" type="HTTPRequest" parent="."]
9 | use_threads = true
10 |
11 | [node name="NotificationsClient" type="HTTPRequest" parent="."]
12 | use_threads = true
13 |
--------------------------------------------------------------------------------
/addons/github-integration/scenes/SingIn.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=8 format=2]
2 |
3 | [ext_resource path="res://addons/github-integration/scenes/RedBtn.tscn" type="PackedScene" id=1]
4 | [ext_resource path="res://addons/github-integration/scenes/GreenBtn.tscn" type="PackedScene" id=2]
5 | [ext_resource path="res://addons/github-integration/scripts/SignIn.gd" type="Script" id=3]
6 | [ext_resource path="res://addons/github-integration/github-logo.png" type="Texture" id=4]
7 | [ext_resource path="res://addons/github-integration/resources/themes/GitHubTheme-Dark.tres" type="Theme" id=5]
8 |
9 | [sub_resource type="StyleBoxEmpty" id=1]
10 |
11 | [sub_resource type="StyleBoxFlat" id=2]
12 | content_margin_left = 5.0
13 | content_margin_right = 5.0
14 | draw_center = false
15 |
16 | [node name="SingIn" type="Control"]
17 | anchor_right = 1.0
18 | anchor_bottom = 1.0
19 | mouse_filter = 1
20 | size_flags_horizontal = 3
21 | size_flags_vertical = 3
22 | theme = ExtResource( 5 )
23 | script = ExtResource( 3 )
24 | __meta__ = {
25 | "_edit_group_": true,
26 | "_edit_use_anchors_": false
27 | }
28 |
29 | [node name="BG" type="ColorRect" parent="."]
30 | anchor_right = 1.0
31 | anchor_bottom = 1.0
32 | color = Color( 0.141176, 0.160784, 0.180392, 1 )
33 | __meta__ = {
34 | "_edit_use_anchors_": false
35 | }
36 |
37 | [node name="FieldContainer" type="PanelContainer" parent="."]
38 | anchor_left = 0.5
39 | anchor_top = 0.5
40 | anchor_right = 0.5
41 | anchor_bottom = 0.5
42 | margin_left = -195.0
43 | margin_top = -284.0
44 | margin_right = 195.0
45 | margin_bottom = 284.0
46 | mouse_filter = 1
47 | __meta__ = {
48 | "_edit_use_anchors_": false
49 | }
50 |
51 | [node name="signin_panel" type="VBoxContainer" parent="FieldContainer"]
52 | margin_left = 20.0
53 | margin_top = 20.0
54 | margin_right = 370.0
55 | margin_bottom = 548.0
56 | grow_horizontal = 2
57 | grow_vertical = 2
58 | alignment = 1
59 | __meta__ = {
60 | "_edit_use_anchors_": false
61 | }
62 |
63 | [node name="GithubLogo" type="TextureRect" parent="FieldContainer/signin_panel"]
64 | margin_right = 350.0
65 | margin_bottom = 128.0
66 | rect_min_size = Vector2( 0, 60 )
67 | texture = ExtResource( 4 )
68 | stretch_mode = 4
69 |
70 | [node name="LogoText" type="Label" parent="FieldContainer/signin_panel"]
71 | margin_top = 132.0
72 | margin_right = 350.0
73 | margin_bottom = 154.0
74 | size_flags_horizontal = 3
75 | text = "Sign-in to GitHub"
76 | align = 1
77 |
78 | [node name="EmailLbl" type="Label" parent="FieldContainer/signin_panel"]
79 | margin_top = 158.0
80 | margin_right = 43.0
81 | margin_bottom = 180.0
82 | size_flags_horizontal = 0
83 | text = "Email"
84 | __meta__ = {
85 | "_edit_use_anchors_": false
86 | }
87 |
88 | [node name="Mail" type="LineEdit" parent="FieldContainer/signin_panel"]
89 | margin_top = 184.0
90 | margin_right = 350.0
91 | margin_bottom = 218.0
92 | rect_min_size = Vector2( 350, 0 )
93 | size_flags_horizontal = 3
94 | text = ""
95 | clear_button_enabled = true
96 | placeholder_text = "Insert your e-mail..."
97 | placeholder_alpha = 0.4
98 |
99 | [node name="SEPARATOR" type="HSeparator" parent="FieldContainer/signin_panel"]
100 | margin_top = 222.0
101 | margin_right = 350.0
102 | margin_bottom = 230.0
103 | rect_min_size = Vector2( 0, 3 )
104 | custom_styles/separator = SubResource( 1 )
105 | custom_constants/separation = 8
106 |
107 | [node name="Token" type="HBoxContainer" parent="FieldContainer/signin_panel"]
108 | margin_top = 234.0
109 | margin_right = 350.0
110 | margin_bottom = 256.0
111 |
112 | [node name="TokenLbl" type="Label" parent="FieldContainer/signin_panel/Token"]
113 | margin_right = 46.0
114 | margin_bottom = 22.0
115 | size_flags_horizontal = 0
116 | text = "Token"
117 | __meta__ = {
118 | "_edit_use_anchors_": false
119 | }
120 |
121 | [node name="btnCreateToken" type="LinkButton" parent="FieldContainer/signin_panel/Token"]
122 | margin_left = 267.0
123 | margin_top = 8.0
124 | margin_right = 350.0
125 | margin_bottom = 22.0
126 | size_flags_horizontal = 14
127 | size_flags_vertical = 8
128 | text = "Create Token"
129 | underline = 1
130 |
131 | [node name="Password" type="LineEdit" parent="FieldContainer/signin_panel"]
132 | margin_top = 260.0
133 | margin_right = 350.0
134 | margin_bottom = 294.0
135 | rect_min_size = Vector2( 350, 0 )
136 | size_flags_horizontal = 3
137 | text = ""
138 | secret = true
139 | clear_button_enabled = true
140 | placeholder_text = "Insert your token..."
141 | placeholder_alpha = 0.4
142 |
143 | [node name="SEPARATOR1" type="HSeparator" parent="FieldContainer/signin_panel"]
144 | margin_top = 298.0
145 | margin_right = 350.0
146 | margin_bottom = 308.0
147 | rect_min_size = Vector2( 0, 3 )
148 | custom_styles/separator = SubResource( 1 )
149 | custom_constants/separation = 10
150 |
151 | [node name="HBoxContainer3" type="HBoxContainer" parent="FieldContainer/signin_panel"]
152 | margin_top = 312.0
153 | margin_right = 350.0
154 | margin_bottom = 342.0
155 | alignment = 1
156 |
157 | [node name="btnSignIn" parent="FieldContainer/signin_panel/HBoxContainer3" instance=ExtResource( 2 )]
158 | anchor_right = 0.0
159 | anchor_bottom = 0.0
160 | margin_right = 332.0
161 | margin_bottom = 30.0
162 | disabled = true
163 | text = "Sign In"
164 |
165 | [node name="logfile" type="Label" parent="FieldContainer/signin_panel/HBoxContainer3"]
166 | margin_left = 336.0
167 | margin_top = 8.0
168 | margin_right = 350.0
169 | margin_bottom = 22.0
170 | hint_tooltip = "A logfile has been found! Just press \"Sign-in\" without filling the fields."
171 | mouse_filter = 1
172 | size_flags_horizontal = 8
173 | custom_styles/normal = SubResource( 2 )
174 | custom_colors/font_color = Color( 0.92549, 0.133333, 0.392157, 1 )
175 | text = "!"
176 |
177 | [node name="SEPARATOR2" type="HSeparator" parent="FieldContainer/signin_panel"]
178 | margin_top = 346.0
179 | margin_right = 350.0
180 | margin_bottom = 361.0
181 | rect_min_size = Vector2( 0, 15 )
182 | custom_styles/separator = SubResource( 1 )
183 |
184 | [node name="singup" type="LinkButton" parent="FieldContainer/signin_panel"]
185 | margin_left = 69.0
186 | margin_top = 365.0
187 | margin_right = 281.0
188 | margin_bottom = 379.0
189 | size_flags_horizontal = 4
190 | text = "Don't have a GitHub account yet?"
191 | underline = 1
192 |
193 | [node name="SEPARATOR3" type="HSeparator" parent="FieldContainer/signin_panel"]
194 | margin_top = 383.0
195 | margin_right = 350.0
196 | margin_bottom = 387.0
197 | rect_min_size = Vector2( 0, 3 )
198 | custom_styles/separator = SubResource( 1 )
199 |
200 | [node name="error" type="Label" parent="FieldContainer/signin_panel"]
201 | visible = false
202 | margin_top = 305.0
203 | margin_right = 464.0
204 | margin_bottom = 319.0
205 | size_flags_horizontal = 3
206 | custom_colors/font_color = Color( 1, 0, 0.235294, 1 )
207 | text = "Error: "
208 | align = 1
209 |
210 | [node name="DeleteDataBtn" parent="FieldContainer/signin_panel" instance=ExtResource( 1 )]
211 | anchor_right = 0.0
212 | anchor_bottom = 0.0
213 | margin_top = 498.0
214 | margin_right = 350.0
215 | margin_bottom = 528.0
216 | size_flags_vertical = 10
217 | text = "Delete User Data"
218 |
219 | [node name="DeleteHover" type="ColorRect" parent="."]
220 | visible = false
221 | anchor_right = 1.0
222 | anchor_bottom = 1.0
223 | color = Color( 0, 0, 0, 0.313726 )
224 | __meta__ = {
225 | "_edit_use_anchors_": false
226 | }
227 |
228 | [node name="DeletePopup" type="ConfirmationDialog" parent="."]
229 | anchor_left = 0.5
230 | anchor_top = 0.5
231 | anchor_right = 0.5
232 | anchor_bottom = 0.5
233 | margin_left = -185.5
234 | margin_top = -35.0
235 | margin_right = 185.5
236 | margin_bottom = 35.0
237 | window_title = "Delete User Data"
238 | dialog_text = "Are you sure you want to delete your current user data?"
239 | __meta__ = {
240 | "_edit_use_anchors_": false
241 | }
242 | [connection signal="pressed" from="FieldContainer/signin_panel/singup" to="." method="_on_singup_pressed"]
243 |
--------------------------------------------------------------------------------
/addons/github-integration/scenes/loading.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=5 format=2]
2 |
3 | [ext_resource path="res://addons/github-integration/scripts/loading.gd" type="Script" id=1]
4 | [ext_resource path="res://addons/github-integration/resources/loading/throbber.png" type="Texture" id=2]
5 |
6 | [sub_resource type="Shader" id=1]
7 | code = "shader_type canvas_item;
8 | render_mode unshaded, blend_disabled;
9 |
10 | uniform float speed = 5.0;
11 |
12 | vec2 rotateUV(vec2 uv, vec2 pivot, float rotation) {
13 | float cosa = cos(rotation);
14 | float sina = sin(rotation);
15 | uv -= pivot;
16 | return vec2(
17 | cosa * uv.x - sina * uv.y,
18 | cosa * uv.y + sina * uv.x
19 | ) + pivot;
20 | }
21 |
22 | void vertex() {
23 | VERTEX = rotateUV(VERTEX, TEXTURE_PIXEL_SIZE+vec2(45,45), TIME * speed);
24 | }
25 |
26 | "
27 |
28 | [sub_resource type="ShaderMaterial" id=2]
29 | shader = SubResource( 1 )
30 | shader_param/speed = 0
31 |
32 | [node name="loading" type="ColorRect"]
33 | anchor_right = 1.0
34 | anchor_bottom = 1.0
35 | color = Color( 0, 0, 0, 0.745098 )
36 | script = ExtResource( 1 )
37 | __meta__ = {
38 | "_edit_use_anchors_": false
39 | }
40 |
41 | [node name="VBoxContainer" type="VBoxContainer" parent="."]
42 | anchor_right = 1.0
43 | anchor_bottom = 1.0
44 | alignment = 1
45 | __meta__ = {
46 | "_edit_use_anchors_": false
47 | }
48 |
49 | [node name="loading2" type="TextureRect" parent="VBoxContainer"]
50 | material = SubResource( 2 )
51 | margin_left = 467.0
52 | margin_top = 246.0
53 | margin_right = 557.0
54 | margin_bottom = 336.0
55 | rect_min_size = Vector2( 90, 90 )
56 | size_flags_horizontal = 4
57 | size_flags_vertical = 0
58 | texture = ExtResource( 2 )
59 | expand = true
60 | stretch_mode = 6
61 | __meta__ = {
62 | "_edit_use_anchors_": false
63 | }
64 |
65 | [node name="ProgressBar" type="ProgressBar" parent="VBoxContainer"]
66 | visible = false
67 | margin_left = 362.0
68 | margin_top = 322.0
69 | margin_right = 662.0
70 | margin_bottom = 336.0
71 | rect_min_size = Vector2( 300, 0 )
72 | size_flags_horizontal = 4
73 |
74 | [node name="Number" type="Label" parent="VBoxContainer"]
75 | visible = false
76 | margin_left = 506.0
77 | margin_top = 340.0
78 | margin_right = 518.0
79 | margin_bottom = 354.0
80 | grow_horizontal = 2
81 | grow_vertical = 2
82 | size_flags_horizontal = 4
83 | text = "..."
84 | align = 1
85 |
86 | [node name="Message" type="Label" parent="VBoxContainer"]
87 | margin_left = 483.0
88 | margin_top = 340.0
89 | margin_right = 540.0
90 | margin_bottom = 354.0
91 | grow_horizontal = 2
92 | grow_vertical = 2
93 | size_flags_horizontal = 4
94 | text = "message"
95 | align = 1
96 | [connection signal="visibility_changed" from="." to="." method="_on_loading_visibility_changed"]
97 |
--------------------------------------------------------------------------------
/addons/github-integration/screenshots/.gdignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/screenshots/.gdignore
--------------------------------------------------------------------------------
/addons/github-integration/screenshots/banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/screenshots/banner.png
--------------------------------------------------------------------------------
/addons/github-integration/screenshots/commit.PNG.screenshot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/screenshots/commit.PNG.screenshot
--------------------------------------------------------------------------------
/addons/github-integration/screenshots/commit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/screenshots/commit.png
--------------------------------------------------------------------------------
/addons/github-integration/screenshots/gist.PNG.screenshot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/screenshots/gist.PNG.screenshot
--------------------------------------------------------------------------------
/addons/github-integration/screenshots/gist.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/screenshots/gist.png
--------------------------------------------------------------------------------
/addons/github-integration/screenshots/mainpanel1.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/screenshots/mainpanel1.PNG
--------------------------------------------------------------------------------
/addons/github-integration/screenshots/repo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/screenshots/repo.png
--------------------------------------------------------------------------------
/addons/github-integration/screenshots/repo.png.screenshot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/screenshots/repo.png.screenshot
--------------------------------------------------------------------------------
/addons/github-integration/screenshots/singin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/screenshots/singin.png
--------------------------------------------------------------------------------
/addons/github-integration/screenshots/singin.png.screenshot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/screenshots/singin.png.screenshot
--------------------------------------------------------------------------------
/addons/github-integration/screenshots/userpanel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/screenshots/userpanel.png
--------------------------------------------------------------------------------
/addons/github-integration/screenshots/userpanel.png.screenshot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fenix-hub/godot-engine.github-integration/28afca33955e6ef9d14aa1a6ac8c388d8ea9873f/addons/github-integration/screenshots/userpanel.png.screenshot
--------------------------------------------------------------------------------
/addons/github-integration/scripts/ContributorClass.gd:
--------------------------------------------------------------------------------
1 | tool
2 | extends HBoxContainer
3 | class_name ContributorClass
4 |
5 | onready var avatar_texture : TextureRect = $Avatar
6 | onready var login_lbl : Label = $Login
7 | onready var name_lbl : Label = $Name
8 | onready var client : HTTPRequest = $HTTPRequest
9 |
10 | var is_downloading : bool = false
11 |
12 | var _avatar : String
13 | var _name : String
14 | var _login : String
15 |
16 | func _ready() -> void:
17 | client.connect("request_completed", self, "_on_request_completed")
18 | pass
19 | # RestHandler.connect("user_contributor_requested", self, "_on_contributor_avatar_requested")
20 |
21 | func load_contributor(contributor_login : String, contributor_name : String = "", contributor_avatar : String = "") -> void:
22 | set_contributor_login(contributor_login)
23 | set_contributor_name(contributor_name)
24 | set_contributor_avatar(contributor_avatar)
25 |
26 | func set_contributor_login(l : String) -> void:
27 | _login = l
28 | login_lbl.set_text(_login)
29 |
30 | func set_contributor_name(n : String) -> void:
31 | _name = n
32 | name_lbl.set_text(_name)
33 |
34 | func set_contributor_avatar(a : String) -> void:
35 | _avatar = a
36 | client.request(_avatar)
37 | is_downloading = true
38 |
39 | func _process(delta):
40 | if is_downloading: pass#print(client.get_downloaded_bytes()/client.get_body_size()*100, " %")
41 |
42 | func _on_request_completed(result: int, response_code: int, headers: PoolStringArray, avatar: PoolByteArray) -> void:
43 | if result == 0:
44 | if response_code == 200:
45 | var image : Image = Image.new()
46 | var extension : String = avatar.subarray(0,1).hex_encode()
47 | match extension:
48 | "ffd8":
49 | image.load_jpg_from_buffer(avatar)
50 | "8950":
51 | image.load_png_from_buffer(avatar)
52 | var texture : ImageTexture = ImageTexture.new()
53 | texture.create_from_image(image)
54 | avatar_texture.set_texture(texture)
55 | is_downloading = false
56 |
--------------------------------------------------------------------------------
/addons/github-integration/scripts/GistItem.gd:
--------------------------------------------------------------------------------
1 | tool
2 | class_name GistItem
3 | extends PanelContainer
4 |
5 | signal gist_selected(gist)
6 | signal gist_clicked(this_gist)
7 |
8 | onready var Name = $Gist/Name
9 | onready var Files = $Gist/Files
10 | onready var BG = $BG
11 |
12 | var _name : String
13 | var _files_amount : int
14 | var _files : Array
15 | var _metadata : Dictionary
16 | var _gist : Dictionary
17 | var _id : String
18 |
19 | func _ready():
20 | Files.get_node("Icon").set_texture(IconLoaderGithub.load_icon_from_name("gists"))
21 |
22 | func set_gist(gist : Dictionary):
23 | _gist = gist
24 | _id = gist.resourcePath
25 | _name = gist.files[0].name
26 | _files = gist.files
27 | _files_amount = _files.size()
28 | Name.get_node("Text").set_text(_name)
29 | Files.get_node("Amount").set_text("Files: "+str(_files_amount))
30 |
31 | var gist_icon : ImageTexture
32 | if gist.isPublic:
33 | gist_icon = (IconLoaderGithub.load_icon_from_name("gists"))
34 | else:
35 | gist_icon = (IconLoaderGithub.load_icon_from_name("lock"))
36 | if gist.isFork:
37 | pass
38 | Name.get_node("Icon").set_texture(gist_icon)
39 |
40 | func deselect():
41 | BG.hide()
42 |
43 | func _on_GistItem_gui_input(event):
44 | if event is InputEventMouseButton:
45 | if event.is_pressed() and event.button_index == 1:
46 | BG.show()
47 | emit_signal("gist_clicked", self)
48 | if event.doubleclick:
49 | emit_signal("gist_selected", self)
50 |
--------------------------------------------------------------------------------
/addons/github-integration/scripts/GitHub.gd:
--------------------------------------------------------------------------------
1 | # ----------------------------------------------
2 | # ~{ GitHub Integration }~
3 | # [Author] Nicolò "fenix" Santilio
4 | # [github] fenix-hub/godot-engine.github-integration
5 | # [version] 0.2.9
6 | # [date] 09.13.2019
7 |
8 | # -----------------------------------------------
9 |
10 | tool
11 | extends Control
12 |
13 | onready var VersionCheck : HTTPRequest = $VersionCheck
14 |
15 | onready var SignIn : Control = $SingIn
16 | onready var UserPanel : Control = $UserPanel
17 | onready var CommitRepo : Control = $Commit
18 | onready var Repo : Control = $Repo
19 | onready var Gist : Control = $Gist
20 | onready var Commit : Control = $Commit
21 | onready var LoadNode : Control = $loading
22 | onready var Version : Control = $Header/datas/version
23 | onready var ConnectionIcon : TextureRect = $Header/datas/connection
24 | onready var Header : Control = $Header
25 | onready var RestartConnection = Header.get_node("datas/restart_connection")
26 | onready var Menu : PopupMenu = $Header/datas/Menu.get_popup()
27 | onready var Notifications : Control = $Notifications
28 |
29 | var user_avatar : ImageTexture = ImageTexture.new()
30 | var user_img = Image.new()
31 |
32 | var connection_status : Array = [
33 | IconLoaderGithub.load_icon_from_name("searchconnection"),
34 | IconLoaderGithub.load_icon_from_name("noconnection"),
35 | IconLoaderGithub.load_icon_from_name("connection")
36 | ]
37 |
38 | var plugin_version : String
39 | var plugin_name : String
40 |
41 | # Load the configuration file for this plugin to fetch some info
42 | func load_config() -> void:
43 | var config = ConfigFile.new()
44 | var err = config.load("res://addons/github-integration/plugin.cfg")
45 | if err == OK:
46 | plugin_version = config.get_value("plugin","version")
47 | plugin_name = "[%s] >> " % config.get_value("plugin","name")
48 |
49 | func connect_signals() -> void:
50 | Menu.connect("index_pressed", self, "menu_item_pressed")
51 | RestartConnection.connect("pressed",self,"check_connection")
52 | VersionCheck.connect("request_completed",self,"_on_version_check")
53 | SignIn.connect("signed",self,"signed")
54 | UserPanel.connect("completed_loading", SignIn, "_on_completed_loading")
55 | UserPanel.connect("loaded_gists", Gist, "_on_loaded_repositories")
56 | Header.connect("load_invitations", Notifications, "_on_load_invitations_list")
57 | Header.notifications_btn.connect("pressed", Notifications, "_open_notifications")
58 | Notifications.connect("add_notifications", Header, "_on_add_notifications")
59 |
60 | func hide_nodes() -> void:
61 | Repo.hide()
62 | SignIn.show()
63 | UserPanel.hide()
64 | Commit.hide()
65 | LoadNode.hide()
66 |
67 | func _ready():
68 | connect_signals()
69 | hide_nodes()
70 | # Load Config file
71 | load_config()
72 | Version.text = "v "+plugin_version
73 |
74 | ConnectionIcon.set_texture(connection_status[0])
75 | ConnectionIcon.use_parent_material = false
76 | ConnectionIcon.material.set("shader_param/speed", 3)
77 |
78 | # Check the connection with the API
79 | RestHandler.check_connection()
80 | # Yield until the "_check_connection" function returns a value
81 | var connection = yield(RestHandler, "_check_connection")
82 | match connection:
83 | true:
84 | ConnectionIcon.set_texture(connection_status[2])
85 | ConnectionIcon.set_tooltip("Connected to GitHub API")
86 | RestartConnection.hide()
87 | false:
88 | ConnectionIcon.set_texture(connection_status[1])
89 | ConnectionIcon.set_tooltip("Can't connect to GitHub API, check your internet connection or API status")
90 | RestartConnection.show()
91 | ConnectionIcon.use_parent_material = true
92 | ConnectionIcon.material.set("shader_param/speed", 0)
93 |
94 | Menu.set_item_checked(0, PluginSettings.debug)
95 | Menu.set_item_checked(1, PluginSettings.auto_log)
96 | # Check the plugin verison
97 | VersionCheck.request("https://api.github.com/repos/fenix-hub/godot-engine.github-integration/tags",[],false,HTTPClient.METHOD_GET,"")
98 |
99 | if PluginSettings.auto_log:
100 | SignIn.sign_in()
101 |
102 | set_darkmode(PluginSettings.darkmode)
103 |
104 | # Show or hide the loading screen
105 | func loading(value : bool) -> void:
106 | LoadNode.visible = value
107 |
108 | # Show the loading process, giving the current value and a maximum value
109 | func show_loading_progress(value : float, max_value : float) -> void:
110 | LoadNode.show_progress(value,max_value)
111 |
112 | func hide_loading_progress():
113 | LoadNode.hide_progress()
114 |
115 | func show_number(value : float, type : String) -> void:
116 | LoadNode.show_number(value,type)
117 |
118 | func hide_number() -> void:
119 | LoadNode.hide_number()
120 |
121 | # If User Signed
122 | func signed() -> void:
123 | UserPanel.load_panel()
124 | set_avatar(UserData.AVATAR)
125 | set_username(UserData.USER.login)
126 | yield(UserPanel, "completed_loading")
127 | Notifications.request_notifications()
128 |
129 | # Print a debug message if the debug setting is set to "true", with a debug type from 0 to 2
130 | func print_debug_message(message : String = "", type : int = 0) -> void:
131 | if PluginSettings.debug == true:
132 | match type:
133 | 0:
134 | print(plugin_name,message)
135 | 1:
136 | printerr(plugin_name,message)
137 | 2:
138 | push_warning(plugin_name+message)
139 | if type != 1: set_loading_message(message)
140 |
141 | func set_loading_message(message : String):
142 | LoadNode.message.set_text(message)
143 |
144 | # Control logic for each item in the plugin menu
145 | func menu_item_pressed(id : int) -> void:
146 | match id:
147 | # 0:
148 | # _on_debug_toggled(!Menu.is_item_checked(id))
149 | # 1:
150 | # _on_autologin_toggled(!Menu.is_item_checked(id))
151 | 0:
152 | OS.shell_open("https://github.com/fenix-hub/godot-engine.github-integration/wiki")
153 | 1:
154 | logout()
155 | 2:
156 | set_darkmode(!Menu.is_item_checked(id))
157 |
158 | # Logout function
159 | func logout():
160 | set_avatar(IconLoaderGithub.load_icon_from_name("circle"))
161 | set_username("user")
162 | SignIn.show()
163 | UserPanel._clear()
164 | UserPanel.hide()
165 | Repo.hide()
166 | Commit.hide()
167 | Gist.hide()
168 | Notifications._clear()
169 | Notifications.hide()
170 | SignIn.Mail.text = ""
171 | SignIn.Token.text = ""
172 | UserData.logout_user()
173 |
174 | # Set to darkmode each single Control
175 | func set_darkmode(darkmode : bool) -> void:
176 | PluginSettings.set_darkmode(darkmode)
177 | SignIn.set_darkmode(darkmode)
178 | UserPanel.set_darkmode(darkmode)
179 | Repo.set_darkmode(darkmode)
180 | Commit.set_darkmode(darkmode)
181 | Gist.set_darkmode(darkmode)
182 | Header.set_darkmode(darkmode)
183 | Notifications.set_darkmode(darkmode)
184 |
185 | func set_avatar(avatar : ImageTexture) -> void:
186 | $Header/datas/avatar.texture = avatar
187 |
188 | func set_username(username : String) -> void:
189 | $Header/datas/user.text = username
190 |
191 | # If the plugin version has been checked
192 | func _on_version_check(result, response_code, headers, body ) -> void:
193 | if result == 0:
194 | if response_code == 200:
195 | var tags : Array = JSON.parse(body.get_string_from_utf8()).result
196 | var first_tag : Dictionary = tags[0] as Dictionary
197 | if first_tag.name != ("v"+plugin_version):
198 | print_debug_message("a new plugin version has been found, current version is %s and new version is %s" % [("v"+plugin_version), first_tag.name],1)
199 |
--------------------------------------------------------------------------------
/addons/github-integration/scripts/Header.gd:
--------------------------------------------------------------------------------
1 | tool
2 | extends Control
3 |
4 | onready var discord : TextureButton = $datas/discord
5 | onready var paypal : TextureButton = $datas/paypal
6 | onready var github : TextureButton = $datas/github
7 | onready var notifications_btn : TextureButton = $datas/notifications
8 | onready var notifications_lbl : Label = $datas/notifications/VBoxContainer/NotificationsLbl
9 |
10 | signal load_invitations(list)
11 |
12 | var notifications : int = 0
13 |
14 | func _ready():
15 | hide_notifications()
16 | _connect_signals()
17 |
18 | func _connect_signals():
19 | discord.connect("pressed",self,"_join_discord")
20 | paypal.connect("pressed",self,"_support_paypal")
21 | github.connect("pressed",self,"_check_git")
22 | notifications_btn.connect("pressed", self, "_notifications_opened")
23 |
24 | func set_darkmode(darkmode : bool):
25 | if darkmode:
26 | set_theme(load("res://addons/github-integration/resources/themes/GitHubTheme-Dark.tres"))
27 | else:
28 | set_theme(load("res://addons/github-integration/resources/themes/GitHubTheme.tres"))
29 |
30 | func _join_discord():
31 | OS.shell_open("https://discord.gg/KnJGY9S")
32 |
33 | func _support_paypal():
34 | OS.shell_open("https://paypal.me/NSantilio?locale.x=it_IT")
35 |
36 | func _check_git():
37 | OS.shell_open("https://github.com/fenix-hub/godot-engine.github-integration")
38 |
39 | func _notifications_opened():
40 | if get_parent().Notifications.visible :
41 | hide_notifications()
42 | else:
43 | if notifications > 0:
44 | set_notifications()
45 |
46 | func _on_add_notifications(amount : int):
47 | notifications+=amount
48 | set_notifications()
49 |
50 | func set_notifications():
51 | notifications_lbl.set_text(str(notifications))
52 | notifications_btn.set_tooltip("You have "+str(notifications)+" unread notifications")
53 | notifications_lbl.show() if notifications > 0 else hide_notifications()
54 |
55 | func hide_notifications():
56 | notifications_lbl.hide()
57 | notifications_btn.set_tooltip("You have no unread notifications")
58 |
59 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/addons/github-integration/scripts/IconLoaderGithub.gd:
--------------------------------------------------------------------------------
1 | tool
2 | extends Node
3 |
4 | func _ready():
5 | pass
6 |
7 | func load_icon_from_name(icon_name : String) -> ImageTexture:
8 | var file = File.new()
9 | var image = Image.new()
10 | var texture = ImageTexture.new()
11 |
12 | file.open("res://addons/github-integration/icons.pngs/"+icon_name+".png.iconpng", File.READ)
13 | var buffer = file.get_buffer(file.get_len())
14 | file.close()
15 |
16 | image.load_png_from_buffer(buffer)
17 | texture.create_from_image(image)
18 | return texture
19 |
--------------------------------------------------------------------------------
/addons/github-integration/scripts/InvitationItem.gd:
--------------------------------------------------------------------------------
1 | tool
2 | class_name InvitationItem
3 | extends HBoxContainer
4 |
5 | onready var user_lbl : LinkButton = $User
6 | onready var repository_lbl : LinkButton = $Repository
7 | onready var permissions_lbl : Label = $Permissions
8 | onready var client : HTTPRequest = $HTTPRequest
9 | onready var avatar_texture : TextureRect = $Avatar
10 | onready var accept_btn : Button = $AcceptBtn
11 | onready var decline_btn : Button = $DeclineBtn
12 | onready var result_lbl : Label = $Result
13 |
14 | var invitation_id : int
15 | var user_invitation : String
16 | var repository_invitation : String
17 | var avatar_invitation : String
18 | var user_url : String
19 | var repository_url : String
20 |
21 | signal set_to_load_next(to_load)
22 | signal add_notifications(amount)
23 | signal invitation_accepted()
24 | signal invitation_declined()
25 |
26 | func _ready():
27 | user_lbl.connect("pressed", self, "_on_user_pressed")
28 | repository_lbl.connect("pressed", self, "_on_repository_pressed")
29 | client.connect("request_completed", self, "_on_request_completed")
30 | accept_btn.connect("pressed", self, "_on_invite_accept")
31 | decline_btn.connect("pressed", self, "_on_invite_decline")
32 | RestHandler.connect("invitation_accepted", self, "_on_invitation_accepted")
33 | RestHandler.connect("invitation_declined", self, "_on_invitation_declined")
34 |
35 | func load_invitation(invitation : Dictionary) -> void:
36 | invitation_id = invitation.id
37 | set_user_invitation(invitation.inviter.login)
38 | set_repository_invitation(invitation.repository.name)
39 | set_avatar_invitation(invitation.inviter.avatar_url)
40 | user_url = invitation.inviter.html_url
41 | repository_url = invitation.repository.html_url
42 | permissions_lbl.set_text(invitation.permissions)
43 |
44 | func set_user_invitation(user : String) -> void:
45 | user_invitation = user
46 | user_lbl.set_text(user_invitation)
47 |
48 | func set_repository_invitation(repository : String):
49 | repository_invitation = repository
50 | repository_lbl.set_text(repository_invitation)
51 |
52 | func set_avatar_invitation(avatar : String):
53 | avatar_invitation = avatar
54 | client.request(avatar)
55 |
56 | func _on_user_pressed():
57 | OS.shell_open(user_url)
58 |
59 | func _on_repository_pressed():
60 | OS.shell_open(repository_url)
61 |
62 | func _on_invite_accept():
63 | RestHandler.request_accept_invitation(invitation_id)
64 | decline_btn.hide()
65 | accept_btn.hide()
66 | set_result("Invitation accepted.")
67 | emit_signal("add_notifications", -1)
68 | emit_signal("invitation_declined")
69 |
70 | func _on_invite_decline():
71 | RestHandler.request_decline_invitation(invitation_id)
72 | decline_btn.hide()
73 | accept_btn.hide()
74 | set_result("Invitation declined.")
75 | emit_signal("add_notifications", -1)
76 | emit_signal("invitation_accepted")
77 |
78 | func set_result(message : String):
79 | result_lbl.set_text(message)
80 |
81 | func _on_invitation_accepted():
82 | emit_signal("set_to_load_next", true)
83 | queue_free()
84 |
85 | func _on_invitation_declined():
86 | queue_free()
87 |
88 | func _on_request_completed(result: int, response_code: int, headers: PoolStringArray, avatar: PoolByteArray) -> void:
89 | if result == 0:
90 | if response_code == 200:
91 | var image : Image = Image.new()
92 | var extension : String = avatar.subarray(0,1).hex_encode()
93 | match extension:
94 | "ffd8":
95 | image.load_jpg_from_buffer(avatar)
96 | "8950":
97 | image.load_png_from_buffer(avatar)
98 | var texture : ImageTexture = ImageTexture.new()
99 | texture.create_from_image(image)
100 | avatar_texture.set_texture(texture)
101 |
--------------------------------------------------------------------------------
/addons/github-integration/scripts/NewGist.gd:
--------------------------------------------------------------------------------
1 | tool
2 | extends WindowDialog
3 |
4 | onready var description = $VBoxContainer/HBoxContainer/description
5 | onready var FileName : LineEdit = $VBoxContainer/HBoxContainer2/filename
6 |
7 | onready var FromProject = $VBoxContainer/HBoxContainer4/Button
8 | onready var NewGists = $VBoxContainer/HBoxContainer4/Button2
9 | onready var GistFiles = $FileDialog
10 |
11 | onready var privacy = $VBoxContainer/HBoxContainer3/privacy
12 |
13 | var filelist
14 |
15 | var EXTENSIONS : PoolStringArray = [
16 | "*.txt ; Plain Text File",
17 | "*.rtf ; Rich Text Format File",
18 | "*.log ; Log File",
19 | "*.md ; MD File",
20 | "*.doc ; WordPad Document",
21 | "*.doc ; Microsoft Word Document",
22 | "*.docm ; Word Open XML Macro-Enabled Document",
23 | "*.docx ; Microsoft Word Open XML Document",
24 | "*.bbs ; Bulletin Board System Text",
25 | "*.dat ; Data File",
26 | "*.xml ; XML File",
27 | "*.sql ; SQL database file",
28 | "*.json ; JavaScript Object Notation File",
29 | "*.html ; HyperText Markup Language",
30 | "*.csv ; Comma-separated values",
31 | "*.cfg ; Configuration File",
32 | "*.ini ; Initialization File (same as .cfg Configuration File)",
33 | "*.csv ; Comma-separated values File",
34 | ]
35 |
36 | func _ready():
37 | NewGists.connect("pressed",self,"on_newgists_pressed")
38 | FromProject.connect("pressed",self,"on_fromproject_pressed")
39 | GistFiles.connect("files_selected",self,"on_files_selected")
40 | GistFiles.set_filters(EXTENSIONS)
41 |
42 | func on_newgists_pressed():
43 | var priv
44 | if privacy.get_selected_id() == 0:
45 | priv = true
46 | else:
47 | priv = false
48 |
49 | var desc = description.get_text()
50 | var file_name : String = FileName.get_text()
51 | if file_name != "" and file_name!=" ":
52 | get_parent().get_parent().Gist.initialize_new_gist(priv, file_name, desc)
53 | hide()
54 | get_parent().hide()
55 | else:
56 | get_parent().get_parent().print_debug_message("you must give a name to the root file.",1)
57 |
58 | func on_fromproject_pressed():
59 | GistFiles.popup()
60 |
61 | func on_files_selected(files : PoolStringArray):
62 | var priv
63 | if privacy.get_selected_id() == 0:
64 | priv = true
65 | else:
66 | priv = false
67 |
68 | var desc = description.get_text()
69 | get_parent().get_parent().Gist.initialize_new_gist(priv, files[0], desc, files)
70 | hide()
71 | get_parent().hide()
72 |
73 |
--------------------------------------------------------------------------------
/addons/github-integration/scripts/Notifications.gd:
--------------------------------------------------------------------------------
1 | tool
2 | extends Control
3 |
4 | var invitation_item_scene : PackedScene = preload("res://addons/github-integration/scenes/InvitationItem.tscn")
5 |
6 | onready var timer : Timer = $Timer
7 | onready var tabs : VBoxContainer = $NotificationsContainer/NotificationsTabs/Tabs
8 | onready var notification_tree : Tree = $NotificationsContainer/NotificationsTabs/NotificationsTree
9 | onready var invitations_list_box : VBoxContainer = tabs.get_node("Invitations")
10 | onready var settings_list_box : VBoxContainer = tabs.get_node("Settings")
11 | onready var auto_update_notifications_chk : CheckButton = $NotificationsContainer/NotificationsTabs/Tabs/Settings/Notifications/AutoUpdateNotificationsChk
12 | onready var auto_update_notifications_amount : LineEdit = $NotificationsContainer/NotificationsTabs/Tabs/Settings/Notifications/AutoUpdateTimer/Amount
13 | onready var debug_messages_chk : CheckButton = $NotificationsContainer/NotificationsTabs/Tabs/Settings/Plugin/DebugMessagesChk
14 | onready var auto_login_chk : CheckButton = $NotificationsContainer/NotificationsTabs/Tabs/Settings/Plugin/AutoLoginChk
15 | onready var darkmode_chck : CheckButton = $NotificationsContainer/NotificationsTabs/Tabs/Settings/Plugin/DarkmodeChk
16 | onready var owner_check : CheckBox = $NotificationsContainer/NotificationsTabs/Tabs/Settings/Repositories/OwnerAffiliations/Owner
17 | onready var collaborator_check : CheckBox = $NotificationsContainer/NotificationsTabs/Tabs/Settings/Repositories/OwnerAffiliations/Collaborator
18 | onready var organization_member_check : CheckBox = $NotificationsContainer/NotificationsTabs/Tabs/Settings/Repositories/OwnerAffiliations/OrganizationMember
19 |
20 |
21 | signal add_notifications(amount)
22 |
23 | var to_load_next : bool = false
24 | var notifications_tabs : Array = ["Invitations", "Settings"]
25 |
26 | func _ready():
27 | if PluginSettings._loaded : pass
28 | else: yield(PluginSettings,"ready")
29 | load_settings()
30 | _connect_signals()
31 | load_notification_tabs()
32 | notification_tree.get_root().get_children().select(0)
33 | set_invitations_amount(0)
34 |
35 | func _connect_signals() -> void:
36 | timer.connect("timeout", self, "_on_timeout")
37 | notification_tree.connect("item_selected", self, "_on_item_selected")
38 | RestHandler.connect("notification_request_failed", self, "_on_notification_request_failed")
39 | RestHandler.connect("invitations_list_requested", self, "_on_invitations_list_requested")
40 | auto_update_notifications_chk.connect("toggled", self, "_on_auto_update_toggled")
41 | auto_update_notifications_amount.connect("text_entered", self, "_on_auto_update_amount_entered")
42 | debug_messages_chk.connect("toggled", self, "_on_debug_toggled")
43 | auto_login_chk.connect("toggled", self, "_on_autologin_toggled")
44 | darkmode_chck.connect("toggled", self, "_on_darkmode_toggled")
45 | $NotificationsContainer/NotificationsTabs/Tabs/Settings/ResetPluginBtn.connect("pressed", self, "_on_reset_plugin_pressed")
46 | $ResetPluginDialog.connect("confirmed", self, "_on_reset_confirmed")
47 | owner_check.connect("toggled", self, "_on_owner_check_pressed")
48 | collaborator_check.connect("toggled", self, "_on_collaborator_check_pressed")
49 | organization_member_check.connect("toggled", self, "_on_organization_member_check_pressed")
50 |
51 | func load_settings():
52 | var auto_update_notifications : bool = PluginSettings.auto_update_notifications
53 | var auto_update_timer : float = PluginSettings.auto_update_timer
54 | var darkmode : bool = PluginSettings.darkmode
55 | set_auto_update_timer(auto_update_timer)
56 | set_auto_update(auto_update_notifications)
57 | auto_update_notifications_chk.set_pressed(auto_update_notifications)
58 | auto_update_notifications_amount.set_text(str(auto_update_timer/60))
59 | debug_messages_chk.set_pressed(PluginSettings.debug)
60 | auto_login_chk.set_pressed(PluginSettings.auto_log)
61 | darkmode_chck.set_pressed(darkmode)
62 | var owner_affiliations : Array = PluginSettings.owner_affiliations
63 | load_owner_affiliations(owner_affiliations)
64 |
65 | func load_owner_affiliations(affiliations : Array):
66 | owner_check.set_pressed("OWNER" in affiliations)
67 | collaborator_check.set_pressed("COLLABORATOR" in affiliations)
68 | organization_member_check.set_pressed("ORGANIZATION_MEMBER" in affiliations)
69 |
70 | func _on_notification_request_failed(requesting : int, error_body : Dictionary):
71 | match requesting:
72 | RestHandler.REQUESTS.INVITATIONS_LIST:
73 | get_parent().print_debug_message("ERROR: "+error_body.message, 1)
74 |
75 | func hide_notification_tab(tab : TreeItem) -> TreeItem:
76 | if tab.get_text(0) != "Settings": tab.hide()
77 | return tab.get_next()
78 |
79 | func load_notification_tabs() -> void:
80 | var root : TreeItem = notification_tree.create_item()
81 | for tab in notifications_tabs:
82 | var invitations_item : TreeItem = notification_tree.create_item(root)
83 | invitations_item.set_text(0, tab)
84 |
85 | func hide_notification_tabs():
86 | var next_item : TreeItem = hide_notification_tab(notification_tree.get_root().get_children())
87 | while next_item!=null:
88 | next_item = hide_notification_tab(next_item)
89 |
90 | func set_darkmode(darkmode : bool) -> void:
91 | if darkmode:
92 | $BG.color = "#24292e"
93 | set_theme(load("res://addons/github-integration/resources/themes/GitHubTheme-Dark.tres"))
94 | else:
95 | $BG.color = "#f6f8fa"
96 | set_theme(load("res://addons/github-integration/resources/themes/GitHubTheme.tres"))
97 |
98 | func _open_notifications():
99 | set_visible(not visible)
100 | get_parent().UserPanel.load_panel() if (not visible and to_load_next) else null
101 |
102 | func _on_item_selected():
103 | var item : TreeItem = notification_tree.get_selected()
104 | for tab in tabs.get_children(): tab.hide() if tab is VBoxContainer else null
105 | tabs.get_node(item.get_text(0)).show()
106 |
107 | func _on_timeout():
108 | request_notifications()
109 |
110 | func request_notifications() -> void:
111 | if not PluginSettings.auto_update_notifications: return
112 | if UserData.USER == {} : return
113 | get_parent().print_debug_message("loading notifications, please wait...")
114 | emit_signal("add_notifications",-get_parent().Header.notifications)
115 | RestHandler.request_invitations_list()
116 |
117 | func _on_invitations_list_requested(invitations_list : Array) -> void:
118 | if invitations_list.size():
119 | emit_signal("add_notifications", invitations_list.size())
120 | _on_load_invitations_list(invitations_list)
121 |
122 | var invitations : int
123 |
124 | func _on_load_invitations_list(invitations_list : Array) -> void:
125 | clear_invitations_list()
126 | invitations = invitations_list.size()
127 | for invitation in invitations_list:
128 | var invitation_item : InvitationItem = invitation_item_scene.instance()
129 | invitations_list_box.add_child(invitation_item)
130 | invitation_item.load_invitation(invitation)
131 | invitation_item.connect("set_to_load_next", self, "set_to_load_next")
132 | invitation_item.connect("add_notifications", get_parent().Header, "_on_add_notifications")
133 | invitation_item.connect("invitation_accepted", self, "_on_invitation_accepted")
134 | invitation_item.connect("invitation_declined", self, "_on_invitation_declined")
135 | set_invitations_amount(invitations_list.size())
136 |
137 | func _on_auto_update_toggled(toggled : bool):
138 | set_auto_update(toggled)
139 | get_parent().print_debug_message("auto update for notifications: %s" % ["enabled" if toggled else "disabled"])
140 |
141 | func _on_auto_update_amount_entered(amount_txt : String):
142 | if amount_txt.is_valid_float() or amount_txt.is_valid_integer():
143 | set_auto_update_timer(float(amount_txt)*60)
144 | get_parent().print_debug_message("auto update timer for notifications set to %s minute(s)" % amount_txt)
145 |
146 | # If the "debug" button is toggled
147 | func _on_debug_toggled(button_pressed : bool) -> void:
148 | PluginSettings.set_debug(button_pressed)
149 | get_parent().print_debug_message("Debug messages in output console: %s" % button_pressed)
150 |
151 | # If the "auto login" button is toggled
152 | func _on_autologin_toggled(button_pressed : bool) -> void:
153 | PluginSettings.set_auto_log(button_pressed)
154 | get_parent().print_debug_message("Auto Login at plugin startup: %s" % button_pressed)
155 |
156 | func _on_darkmode_toggled(toggled : bool):
157 | get_parent().print_debug_message("Darkmode set to %s" % toggled)
158 | get_parent().set_darkmode(toggled)
159 |
160 | func set_auto_update_timer(amount : float):
161 | timer.set_wait_time(amount)
162 | PluginSettings.set_auto_update_timer(amount)
163 |
164 | func set_auto_update(enabled : bool):
165 | timer.start() if enabled else timer.stop()
166 | PluginSettings.set_auto_update_notifications(enabled)
167 |
168 | func clear_invitations_list():
169 | invitations = 0
170 | for invitation in invitations_list_box.get_children(): invitation.free() if not invitation is Label else null
171 | set_invitations_amount(0)
172 |
173 | func set_invitations_amount(amount : int):
174 | tabs.get_node("Invitations/Label").set_text("There are %s invitations received"%amount)
175 |
176 | func set_to_load_next(to_load : bool):
177 | to_load_next = to_load
178 |
179 | func _on_invitation_accepted():
180 | invitations-=1
181 | set_invitations_amount(invitations)
182 |
183 | func _on_invitation_declined():
184 | invitations-=1
185 | set_invitations_amount(invitations)
186 |
187 | func _on_reset_plugin_pressed():
188 | $ResetPluginDialog.popup()
189 |
190 | func _clear():
191 | emit_signal("add_notifications",-get_parent().Header.notifications)
192 | clear_invitations_list()
193 |
194 | func _on_reset_confirmed():
195 | _clear()
196 | hide()
197 | get_parent().logout()
198 | get_parent().SignIn.delete_user()
199 | PluginSettings.reset_plugin()
200 |
201 | func _on_owner_check_pressed(toggled : bool):
202 | if toggled:
203 | if not "OWNER" in PluginSettings.owner_affiliations:
204 | PluginSettings.owner_affiliations.append("OWNER")
205 | else:
206 | if "OWNER" in PluginSettings.owner_affiliations:
207 | PluginSettings.owner_affiliations.erase("OWNER")
208 | PluginSettings.set_owner_affiliations(PluginSettings.owner_affiliations)
209 | get_parent().print_debug_message("repositories setting '%s': %s"%["OWNER",toggled])
210 |
211 | func _on_collaborator_check_pressed(toggled : bool):
212 | if toggled:
213 | if not ("COLLABORATOR" in PluginSettings.owner_affiliations):
214 | PluginSettings.owner_affiliations.append("COLLABORATOR")
215 | else:
216 | if "COLLABORATOR" in PluginSettings.owner_affiliations:
217 | PluginSettings.owner_affiliations.erase("COLLABORATOR")
218 | PluginSettings.set_owner_affiliations(PluginSettings.owner_affiliations)
219 | get_parent().print_debug_message("repositories setting '%s': %s"%["COLLABORATOR",toggled])
220 |
221 | func _on_organization_member_check_pressed(toggled : bool):
222 | if toggled:
223 | if not "ORGANIZATION_MEMBER" in PluginSettings.owner_affiliations:
224 | PluginSettings.owner_affiliations.append("ORGANIZATION_MEMBER")
225 | else:
226 | if "ORGANIZATION_MEMBER" in PluginSettings.owner_affiliations:
227 | PluginSettings.owner_affiliations.erase("ORGANIZATION_MEMBER")
228 | PluginSettings.set_owner_affiliations(PluginSettings.owner_affiliations)
229 | get_parent().print_debug_message("repositories setting '%s': %s"%["ORGANIZATION_MEMBER",toggled])
230 |
--------------------------------------------------------------------------------
/addons/github-integration/scripts/PluginSettings.gd:
--------------------------------------------------------------------------------
1 | tool
2 | extends Node
3 |
4 | var directory_name = "github_integration"
5 | var plugin_path : String = ProjectSettings.globalize_path("user://").replace("app_userdata/"+ProjectSettings.get_setting('application/config/name')+"/",directory_name)+"/"
6 |
7 | var setting_file : String = "settings.cfg"
8 |
9 | var debug : bool = true
10 | var auto_log : bool = false
11 | var darkmode : bool = false
12 | var auto_update_notifications : bool = true
13 | var auto_update_timer : float = 300
14 | var owner_affiliations : Array = ["OWNER","COLLABORATOR","ORGANIZATION_MEMBER"]
15 |
16 | var _loaded : bool = false
17 |
18 | func _check_plugin_path():
19 | var dir = Directory.new()
20 | if not dir.dir_exists(plugin_path):
21 | dir.make_dir(plugin_path)
22 | if debug:
23 | printerr("[GitHub Integration] >> ","made custom directory in user folder, it is placed at ", plugin_path)
24 |
25 | func _ready():
26 | _check_plugin_path()
27 | var config_file : ConfigFile = ConfigFile.new()
28 | var err = config_file.load(plugin_path+setting_file)
29 | if err == 0:
30 | debug = config_file.get_value("settings","debug", debug)
31 | auto_log = config_file.get_value("settings","auto_log", auto_log)
32 | darkmode = config_file.get_value("settings","darkmode", darkmode)
33 | auto_update_notifications = config_file.get_value("settings","auto_update_notifications", auto_update_notifications)
34 | auto_update_timer = config_file.get_value("settings","auto_update_timer",auto_update_timer)
35 | owner_affiliations = config_file.get_value("settings", "owner_affiliations", owner_affiliations)
36 | else:
37 | config_file.save(plugin_path+setting_file)
38 | config_file.set_value("settings","debug",debug)
39 | config_file.set_value("settings","auto_log",auto_log)
40 | config_file.set_value("settings","darkmode",darkmode)
41 | config_file.set_value("settings","auto_update_notifications", auto_update_notifications)
42 | config_file.set_value("settings","auto_update_timer",auto_update_timer)
43 | config_file.set_value("settings","owner_affiliations",owner_affiliations)
44 | config_file.save(plugin_path+setting_file)
45 | _loaded = true
46 |
47 | func set_debug(d : bool):
48 | debug = d
49 | save_setting("debug", debug)
50 |
51 | func set_auto_log(a : bool):
52 | auto_log = a
53 | save_setting("auto_log", auto_log)
54 |
55 | func set_darkmode(d : bool):
56 | darkmode = d
57 | save_setting("darkmode", darkmode)
58 |
59 | func set_auto_update_notifications(enabled : bool):
60 | auto_update_notifications = enabled
61 | save_setting("auto_update_notifications", enabled)
62 |
63 | func set_auto_update_timer(timer : float):
64 | auto_update_timer = timer
65 | save_setting("auto_update_timer", timer)
66 |
67 | func set_owner_affiliations(affiliations : Array):
68 | owner_affiliations = affiliations
69 | save_setting("owner_affiliations", owner_affiliations)
70 |
71 | func save_setting(key : String, value):
72 | _check_plugin_path()
73 | var file : ConfigFile = ConfigFile.new()
74 | var err = file.load(plugin_path+setting_file)
75 | if err == OK:
76 | file.set_value("settings",key,value)
77 | file.save(plugin_path+setting_file)
78 |
79 | func get_setting(key : String, default_value = ""):
80 | _check_plugin_path()
81 | var file : ConfigFile = ConfigFile.new()
82 | var err = file.load(plugin_path+setting_file)
83 | if err == OK:
84 | if file.has_section_key("settings","key"):
85 | return file.get_value("settings","key")
86 | else:
87 | print("setting '%s' not found, now created" % key)
88 | file.set_value("settings", key, default_value)
89 |
90 | func reset_plugin():
91 | delete_all_files(plugin_path)
92 | print("[Github Integration] github_integration folder completely removed.")
93 |
94 | func delete_all_files(path : String):
95 | var directories = []
96 | var dir : Directory = Directory.new()
97 | dir.open(path)
98 | dir.list_dir_begin(true,false)
99 | var file = dir.get_next()
100 | while (file != ""):
101 | if dir.current_is_dir():
102 | var directorypath = dir.get_current_dir()+"/"+file
103 | directories.append(directorypath)
104 | else:
105 | var filepath = dir.get_current_dir()+"/"+file
106 | dir.remove(filepath)
107 |
108 | file = dir.get_next()
109 |
110 | dir.list_dir_end()
111 |
112 | for directory in directories:
113 | delete_all_files(directory)
114 | dir.remove(path)
115 |
--------------------------------------------------------------------------------
/addons/github-integration/scripts/Repos.gd:
--------------------------------------------------------------------------------
1 | tool
2 | extends Tree
3 |
4 | signal moved(item, to_item, shift)
5 |
6 |
7 | func get_drag_data(position): # begin drag
8 | set_drop_mode_flags(DROP_MODE_INBETWEEN | DROP_MODE_ON_ITEM)
9 |
10 | var preview = Label.new()
11 | preview.text = get_selected().get_text(0)
12 | set_drag_preview(preview) # not necessary
13 |
14 | return get_selected() # TreeItem
15 |
16 |
17 | func can_drop_data(position, data):
18 | return data is TreeItem # you shall not pass!
19 |
20 |
21 | func drop_data(position, item): # end drag
22 | var to_item = get_item_at_position(position)
23 | var shift = get_drop_section_at_position(position)
24 | # shift == 0 if dropping on item, -1, +1 if in between
25 |
26 | emit_signal('moved', item, to_item, shift)
27 |
--------------------------------------------------------------------------------
/addons/github-integration/scripts/RepositoryItem.gd:
--------------------------------------------------------------------------------
1 | tool
2 | class_name RepositoryItem
3 | extends PanelContainer
4 |
5 |
6 | signal repo_selected(repo)
7 | signal repo_clicked(repo)
8 |
9 | onready var Name = $Repository/Name
10 | onready var Stars = $Repository/Stars
11 | onready var Forks = $Repository/Forks
12 | onready var Collaborator = $Repository/Name/Collaborator
13 | onready var BG = $BG
14 |
15 | var _name : String
16 | var _stars : int
17 | var _forks : int
18 | var _metadata : Dictionary
19 | var _repository : Dictionary
20 |
21 | func _ready():
22 | Stars.get_node("Icon").set_texture(IconLoaderGithub.load_icon_from_name("stars"))
23 | Forks.get_node("Icon").set_texture(IconLoaderGithub.load_icon_from_name("forks"))
24 |
25 | func set_repository(repository : Dictionary, current_project : bool = false):
26 | _repository = repository
27 | _name = str(repository.name)
28 | name = _name
29 | _stars = repository.stargazerCount
30 | _forks = repository.forkCount
31 |
32 | # Check collaboration
33 | var is_collaborator : bool = repository.owner.login != UserData.USER.login
34 |
35 | Name.get_node("Text").set_text(_name)
36 | Stars.get_node("Amount").set_text("Stars: "+str(_stars))
37 | Forks.get_node("Amount").set_text("Forks: "+str(_forks))
38 |
39 | var repo_icon : ImageTexture
40 | if repository.isPrivate:
41 | repo_icon = IconLoaderGithub.load_icon_from_name("lock")
42 | Name.get_node("Icon").set_tooltip("Private")
43 | else:
44 | repo_icon = IconLoaderGithub.load_icon_from_name("repos")
45 | Name.get_node("Icon").set_tooltip("Public")
46 | if repository.isFork:
47 | repo_icon = IconLoaderGithub.load_icon_from_name("forks")
48 | Name.get_node("Icon").set_tooltip("Forked")
49 | if is_collaborator:
50 | Collaborator.texture = IconLoaderGithub.load_icon_from_name("collaboration")
51 | Collaborator.set_tooltip("Collaboration")
52 | if repository.isInOrganization:
53 | Collaborator.texture = IconLoaderGithub.load_icon_from_name("organization")
54 | Collaborator.set_tooltip("Organization")
55 | Name.get_node("Icon").set_texture(repo_icon)
56 |
57 | if current_project:
58 | pass
59 |
60 | func deselect():
61 | BG.hide()
62 |
63 | func _on_RepositoryItem_gui_input(event):
64 | if event is InputEventMouseButton:
65 | if event.is_pressed() and event.button_index == 1:
66 | BG.show()
67 | emit_signal("repo_clicked", self)
68 | if event.doubleclick:
69 | emit_signal("repo_selected", self)
70 |
--------------------------------------------------------------------------------
/addons/github-integration/scripts/SignIn.gd:
--------------------------------------------------------------------------------
1 | tool
2 | extends Control
3 |
4 | signal signed()
5 |
6 | onready var Mail : LineEdit = $FieldContainer/signin_panel/Mail
7 | onready var Token : LineEdit = $FieldContainer/signin_panel/Password
8 | onready var Error : Label = $FieldContainer/signin_panel/error
9 | onready var LogfileIcon : Label = $FieldContainer/signin_panel/HBoxContainer3/logfile
10 | onready var btnSignIn : Button = $FieldContainer/signin_panel/HBoxContainer3/btnSignIn
11 | onready var btnCreateToken : LinkButton = $FieldContainer/signin_panel/Token/btnCreateToken
12 | onready var DeleteDataBtn : Button = $FieldContainer/signin_panel/DeleteDataBtn
13 | onready var DeletePopup : ConfirmationDialog = $DeletePopup
14 | onready var DeleteHover : ColorRect = $DeleteHover
15 |
16 | var mail : String
17 | var token : String
18 | var auth : String
19 | enum REQUESTS { LOGIN = 0, AVATAR = 1, END = -1 , USER = 2 }
20 | var requesting : int
21 | var user_data : Dictionary
22 |
23 | var logfile : bool = false
24 |
25 | onready var Client : HTTPClient = HTTPClient.new()
26 |
27 | var userdata : bool = false
28 |
29 | func connect_signals() -> void:
30 | Mail.connect("text_changed", self, "_on_mail_changed")
31 | Token.connect("text_changed", self, "_on_token_changed")
32 |
33 | btnSignIn.connect("pressed",self,"sign_in")
34 | btnCreateToken.connect("pressed",self,"create_token")
35 |
36 | DeleteDataBtn.connect("pressed",self,"_on_delete_pressed")
37 | DeletePopup.connect("confirmed",self,"_on_delete_confirm")
38 | DeletePopup.connect("popup_hide", self, "close_popup")
39 |
40 | # Connections to the RestHandler
41 | RestHandler.connect("request_failed", self, "_on_request_failed")
42 | RestHandler.connect("user_requested", self, "_on_user_requested")
43 | RestHandler.connect("user_avatar_requested", self, "_on_user_avatar_requested")
44 |
45 | func _ready() -> void:
46 | connect_signals()
47 | LogfileIcon.hide()
48 | Error.hide()
49 |
50 | DeleteDataBtn.set_disabled(true)
51 |
52 | yield(get_tree(),"idle_frame")
53 | check_user()
54 |
55 | func _on_userdata_ready():
56 | userdata = true
57 |
58 | func check_user():
59 | if UserData.user_exists():
60 | logfile = true
61 | LogfileIcon.show()
62 | DeleteDataBtn.disabled = false
63 | Mail.text = ""
64 | _on_mail_changed(Mail.text)
65 | Token.text = ""
66 | _on_token_changed(Token.text)
67 | get_parent().print_debug_message("user data found, just sign in without using your credentials.")
68 | btnSignIn.set_disabled(false)
69 |
70 | func set_darkmode(darkmode : bool) -> void:
71 | if darkmode:
72 | $BG.color = "#24292e"
73 | set_theme(load("res://addons/github-integration/resources/themes/GitHubTheme-Dark.tres"))
74 | else:
75 | $BG.color = "#f6f8fa"
76 | set_theme(load("res://addons/github-integration/resources/themes/GitHubTheme.tres"))
77 |
78 | func create_token() -> void:
79 | OS.shell_open("https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line")
80 |
81 | func sign_in() -> void:
82 | get_parent().print_debug_message("logging in...")
83 |
84 | if !logfile:
85 | # If there isn't a logfile inside user's folder
86 | mail = Mail.text
87 | token = Token.text
88 | if mail!="" and token!="":
89 | get_parent().loading(true)
90 | auth = Marshalls.utf8_to_base64(mail+":"+token)
91 | RestHandler.request_user(token)
92 | else:
93 | get_parent().print_debug_message("Bad credentials - you need to insert your e-mail and token.", 1)
94 | else:
95 | # If there is a logfile
96 | get_parent().loading(true)
97 | UserData.load_user()
98 | emit_signal("signed")
99 |
100 | func _on_completed_loading():
101 | get_parent().loading(false)
102 | hide()
103 |
104 | func _on_request_failed(request_code : int, error_body : Dictionary) -> void:
105 | match request_code:
106 | RestHandler.REQUESTS.USER:
107 | set_process(false)
108 | get_parent().loading(true)
109 | Error.show()
110 | Error.text = "Error: "+str(error_body.message)
111 | get_parent().print_debug_message("Bad credentials - incorrect username or token.",1)
112 | get_parent().loading(false)
113 |
114 | func _on_user_requested(user : Dictionary) -> void:
115 | Error.hide()
116 | user_data = user
117 | RestHandler.request_user_avatar(user_data.avatar_url)
118 |
119 | func _on_user_avatar_requested(user_avatar : PoolByteArray) -> void:
120 | get_parent().loading(true)
121 | UserData.save(user_data, user_avatar, auth, token, mail)
122 | emit_signal("signed")
123 | DeleteDataBtn.set_disabled(false)
124 |
125 | func _on_singup_pressed():
126 | OS.shell_open("https://github.com/join?source=header-home")
127 |
128 | func _on_wiki_pressed():
129 | OS.shell_open("https://github.com/fenix-hub/godot-engine.github-integration/wiki")
130 |
131 | func _on_delete_pressed():
132 | DeletePopup.popup()
133 | DeleteHover.show()
134 |
135 | func _on_delete_confirm():
136 | delete_user()
137 |
138 | func delete_user():
139 | UserData.delete_user()
140 | logfile = false
141 | LogfileIcon.hide()
142 | DeleteDataBtn.disabled = true
143 | Mail.text = ""
144 | Token.text = ""
145 |
146 | func close_popup() :
147 | DeleteHover.hide()
148 |
149 | func _on_mail_changed(text : String):
150 | if not text in [""," "] and not Token.text in [""," "]: btnSignIn.set_disabled(false)
151 | else: if not logfile: btnSignIn.set_disabled(true)
152 |
153 | func _on_token_changed(text : String):
154 | if not text in [""," "] and not Mail.text in [""," "]: btnSignIn.set_disabled(false)
155 | else: if not logfile: btnSignIn.set_disabled(true)
156 |
--------------------------------------------------------------------------------
/addons/github-integration/scripts/WindowDialog.gd:
--------------------------------------------------------------------------------
1 | # ----------------------------------------------
2 | # ~{ GitHub Integration }~
3 | # [Author] Nicolò "fenix" Santilio
4 | # [github] fenix-hub/godot-engine.github-integration
5 | # [version] 0.2.9
6 | # [date] 09.13.2019
7 |
8 |
9 |
10 | # -----------------------------------------------
11 |
12 | tool
13 | extends Control
14 |
15 |
16 | onready var gitignore = $VBoxContainer/HBoxContainer5/gitignore
17 | onready var privacy = $VBoxContainer/HBoxContainer3/privacy
18 | onready var readme = $VBoxContainer/HBoxContainer4/readme
19 | onready var license = $VBoxContainer/HBoxContainer6/license
20 | onready var nome = $VBoxContainer/HBoxContainer/nome
21 | onready var descrizione = $VBoxContainer/HBoxContainer2/descrizione
22 |
23 | enum REQUESTS { REPOS = 0, GISTS = 1, END = -1 }
24 | var requesting
25 | var new_repo = HTTPRequest.new()
26 | var repo_body
27 |
28 | var LICENSES = ["afl-3.0","apache-2.0","artistic-2.0","bsl-1.0","bsd-2-clause","bsd-3-clause","bsd-3-clause-clear","cc","cc0-1.0","cc-by-4.0","cc-by-sa-4.0","wtfpl","ecl-2.0","epl-1.0","eupl-1.1",
29 | "agpl-3.0","gpl","gpl-2.0","gpl-3.0","lgpl","lgpl-2.1","lgpl-3.0","isc","lppl-1.3c","ms-pl","mit","mpl-2.0","osl-3.0","postgresql","ofl-1.1","ncsa","unlicense","zlib"]
30 |
31 | #var GITIGNORE = ["Haskell","Godot"]
32 |
33 | onready var error = $VBoxContainer/error
34 |
35 | func _ready():
36 | call_deferred("add_child",new_repo)
37 | new_repo.connect("request_completed",self,"request_completed")
38 | gitignore.select(0)
39 | license.select(0)
40 | error.hide()
41 | load_metadata()
42 |
43 | func load_metadata():
44 | for l in range(0,license.get_item_count()):
45 | license.set_item_metadata(l,LICENSES[l])
46 |
47 | func request_completed(result, response_code, headers, body ):
48 | if result == 0:
49 | match requesting:
50 | REQUESTS.REPOS:
51 | if response_code == 201:
52 | hide()
53 | get_parent().get_parent().print_debug_message("created new repository...")
54 | get_parent().request_repositories()
55 | elif response_code == 422:
56 | error.text = "Error: "+JSON.parse(body.get_string_from_utf8()).result.errors[0].message
57 | error.show()
58 | REQUESTS.GISTS:
59 | if response_code == 200:
60 | pass
61 |
62 | func load_body() -> Dictionary:
63 | var priv
64 | if privacy.get_selected_id() == 0:
65 | priv = true
66 | else:
67 | priv = false
68 |
69 | var read
70 | if readme.pressed:
71 | read = true
72 | else:
73 | read = false
74 |
75 | var gitignor = gitignore.get_item_text(gitignore.get_selected_id())
76 | var licens = license.get_item_metadata(license.get_selected_id())
77 |
78 | repo_body = {
79 | "name": nome.get_text(),
80 | "description": descrizione.get_text(),
81 | "private": priv,
82 | "has_issues": true,
83 | "has_projects": true,
84 | "has_wiki": true,
85 | "auto_init": read,
86 | "gitignore_template": gitignor,
87 | "license_template": licens
88 | }
89 |
90 | return repo_body
91 |
92 | func _on_NewRepo_confirmed():
93 | get_parent().get_parent().loading(true)
94 | error.hide()
95 | requesting = REQUESTS.REPOS
96 | new_repo.request("https://api.github.com/user/repos",UserData.header,false,HTTPClient.METHOD_POST,JSON.print(load_body()))
97 |
98 |
99 |
--------------------------------------------------------------------------------
/addons/github-integration/scripts/github-integration.gd:
--------------------------------------------------------------------------------
1 | # ----------------------------------------------
2 | # ~{ GitHub Integration }~
3 | # [Author] Nicolò "fenix" Santilio
4 | # [github] fenix-hub/godot-engine.github-integration
5 | # [version] 0.2.9
6 | # [date] 09.13.2019
7 |
8 |
9 |
10 |
11 |
12 | # -----------------------------------------------
13 |
14 | tool
15 | extends EditorPlugin
16 | var doc
17 | var IconLoaderGithub = preload("res://addons/github-integration/scripts/IconLoaderGithub.gd").new()
18 | var GitHubDoc
19 |
20 | func _enter_tree():
21 | self.add_autoload_singleton("PluginSettings","res://addons/github-integration/scripts/PluginSettings.gd")
22 | self.add_autoload_singleton("IconLoaderGithub","res://addons/github-integration/scripts/IconLoaderGithub.gd")
23 | self.add_autoload_singleton("UserData","res://addons/github-integration/scripts/user_data.gd")
24 | self.add_autoload_singleton("RestHandler","res://addons/github-integration/scenes/RestHandler.tscn")
25 | doc = load("res://addons/github-integration/scenes/GitHub.tscn")
26 | GitHubDoc = doc.instance()
27 | get_editor_interface().get_editor_viewport().add_child(GitHubDoc)
28 | GitHubDoc.hide()
29 |
30 |
31 | func _exit_tree():
32 | self.remove_autoload_singleton("PluginSettings")
33 | self.remove_autoload_singleton("IconLoaderGithub")
34 | self.remove_autoload_singleton("RestHandler")
35 | self.remove_autoload_singleton("UserData")
36 | get_editor_interface().get_editor_viewport().remove_child(GitHubDoc)
37 | GitHubDoc.queue_free()
38 |
39 | func has_main_screen():
40 | return true
41 |
42 | func get_plugin_name():
43 | return "GitHub"
44 |
45 | func get_plugin_icon():
46 | return IconLoaderGithub.load_icon_from_name("githubicon")
47 |
48 | func make_visible(visible):
49 | GitHubDoc.visible = visible
50 |
51 |
--------------------------------------------------------------------------------
/addons/github-integration/scripts/loading.gd:
--------------------------------------------------------------------------------
1 | tool
2 | extends ColorRect
3 |
4 | # Declare member variables here. Examples:
5 | # var a = 2
6 | # var b = "text"
7 | onready var Progress = $VBoxContainer/ProgressBar
8 | onready var Number = $VBoxContainer/Number
9 | onready var message : Label = $VBoxContainer/Message
10 | # Called when the node enters the scene tree for the first time.
11 | func _ready():
12 | Progress.hide()
13 | Number.hide()
14 | RestHandler.loading = self
15 |
16 | func _on_loading_visibility_changed():
17 | if visible:
18 | $VBoxContainer/loading2.show()
19 | $VBoxContainer/loading2.material.set_shader_param("speed",5)
20 | else:
21 | Progress.hide()
22 | Progress.set_value(0)
23 | Number.hide()
24 | Number.set_text("...")
25 | $VBoxContainer/loading2.material.set_shader_param("speed",0)
26 |
27 | func show_progress(value : float , max_value : float):
28 | Progress.show()
29 | Progress.set_value(range_lerp(value,0,max_value,0,100))
30 |
31 | func hide_progress():
32 | Progress.hide()
33 |
34 | func show_number(value : float , ref_value : float, type : String):
35 | Number.show()
36 | Number.set_text(str(value)+" "+type+" downloaded (of ~"+str(ref_value)+" "+type+")")
37 |
38 | func hide_number():
39 | Number.hide()
40 |
--------------------------------------------------------------------------------
/addons/github-integration/scripts/user_data.gd:
--------------------------------------------------------------------------------
1 | # ----------------------------------------------
2 | # ~{ GitHub Integration }~
3 | # [Author] Nicolò "fenix" Santilio
4 | # [github] fenix-hub/godot-engine.github-integration
5 | # [version] 0.2.9
6 | # [date] 09.13.2019
7 |
8 |
9 |
10 |
11 |
12 | # -----------------------------------------------
13 |
14 | tool
15 | extends Node
16 |
17 | # saves and loads user datas from custom folder in user://github_integration/user_data.ud
18 |
19 | var directory : String = ""
20 | var file_name : String = "user_data.ud"
21 | var avatar_name : String = "avatar"
22 |
23 | var USER : Dictionary = {}
24 |
25 | # --- on the USER usage
26 | # login = username
27 | # avatar
28 | # id
29 |
30 | var AVATAR : ImageTexture
31 | var AUTH : String
32 | var TOKEN : String
33 | var MAIL : String
34 |
35 | var header : Array = [""]
36 | var gitlfs_header : Array = [""]
37 | var gitlfs_request : String = ".git/info/lfs/objects/batch"
38 |
39 | var plugin_version : String = "0.9.4"
40 |
41 | func _ready():
42 | directory = PluginSettings.plugin_path
43 |
44 | func user_exists():
45 | var file : File = File.new()
46 | return (true if file.file_exists(directory+file_name) else false)
47 |
48 | func save(user : Dictionary, avatar : PoolByteArray, auth : String, token : String, mail : String) -> void:
49 | var file = File.new()
50 |
51 | if user!=null:
52 | var err = file.open_encrypted_with_pass(directory+file_name,File.WRITE,OS.get_unique_id())
53 | USER = user
54 | AUTH = auth
55 | TOKEN = token
56 | MAIL = mail
57 | var formatting : PoolStringArray
58 | formatting.append(auth) #0
59 | formatting.append(mail) #1
60 | formatting.append(token) #2
61 | formatting.append(JSON.print(user)) #3
62 | formatting.append(plugin_version) #4
63 | file.store_csv_line(formatting)
64 | file.close()
65 | if PluginSettings.debug:
66 | print("[GitHub Integration] >> ","saved user datas in user folder")
67 |
68 |
69 | save_avatar(avatar)
70 |
71 | header = ["Authorization: Token "+token]
72 |
73 | func save_avatar(avatar : PoolByteArray):
74 | var file : File = File.new()
75 | if avatar == null:
76 | return
77 | var image : Image = Image.new()
78 | var extension : String = avatar.subarray(0,1).hex_encode()
79 | match extension:
80 | "ffd8":
81 | image.load_jpg_from_buffer(avatar)
82 | file.open(directory+avatar_name+".jpg", File.WRITE)
83 | file.store_buffer(avatar)
84 | "8950":
85 | image.load_png_from_buffer(avatar)
86 | image.save_png(directory+avatar_name+".png")
87 | # file.open(directory+avatar_name+".png", File.WRITE)
88 | file.close()
89 | load_avatar()
90 |
91 | func load_avatar():
92 | var file : File = File.new()
93 | var av : Image = Image.new()
94 | var img_text : ImageTexture = ImageTexture.new()
95 | if file.file_exists(directory+avatar_name+".png"):
96 | av.load(directory+avatar_name+".png")
97 | img_text.create_from_image(av)
98 | AVATAR = img_text
99 | elif file.file_exists(directory+avatar_name+".jpg"):
100 | av.load(directory+avatar_name+".jpg")
101 | img_text.create_from_image(av)
102 | AVATAR = img_text
103 | else:
104 | AVATAR = null
105 |
106 | func load_user() -> PoolStringArray :
107 | var file = File.new()
108 | var content : PoolStringArray
109 |
110 | if PluginSettings.debug:
111 | print("[GitHub Integration] >> loading user profile, checking for existing logfile...")
112 |
113 | if file.file_exists(directory+file_name) :
114 | if PluginSettings.debug:
115 | print("[GitHub Integration] >> ","logfile found, fetching datas..")
116 | file.open_encrypted_with_pass(directory+file_name,File.READ,OS.get_unique_id())
117 | content = file.get_csv_line()
118 | if content.size() < 5:
119 | if PluginSettings.debug:
120 | printerr("[GitHub Integration] >> ","this log file belongs to an older version of this plugin and will not support the mail/password login deprecation, so it will be deleted. Please, insert your credentials again.")
121 | file.close()
122 | var dir = Directory.new()
123 | dir.remove(directory+file_name)
124 | content = []
125 | return content
126 |
127 | AUTH = content[0]
128 | MAIL = content[1]
129 | TOKEN = content[2]
130 | USER = JSON.parse(content[3]).result
131 | load_avatar()
132 |
133 | header = ["Authorization: Token "+TOKEN]
134 | gitlfs_header = [
135 | "Accept: application/vnd.github.v3+json",
136 | "Accept: application/vnd.git-lfs+json",
137 | "Content-Type: application/vnd.git-lfs+json"]
138 | gitlfs_header.append(header[0])
139 | else:
140 | if PluginSettings.debug:
141 | printerr("[GitHub Integration] >> ","no logfile found, log in for the first time to create a logfile.")
142 |
143 | return content
144 |
145 | func logout_user():
146 | AUTH = "null"
147 | MAIL = "null"
148 | TOKEN = "null"
149 | USER = {}
150 | AVATAR = null
151 | header = []
152 |
153 | func delete_user():
154 | var dir : Directory = Directory.new()
155 | dir.open(directory)
156 | dir.remove(directory+file_name)
157 | dir.remove(directory+avatar_name)
158 |
--------------------------------------------------------------------------------