@ -3,31 +3,52 @@
|
|||||||
<classpathentry excluding="processing/app/tools/format/" kind="src" path="src"/>
|
<classpathentry excluding="processing/app/tools/format/" kind="src" path="src"/>
|
||||||
<classpathentry kind="src" path="test"/>
|
<classpathentry kind="src" path="test"/>
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||||
|
<classpathentry combineaccessrules="false" kind="src" path="/arduino-core"/>
|
||||||
|
<classpathentry kind="output" path="bin"/>
|
||||||
<classpathentry kind="lib" path="lib/apple.jar"/>
|
<classpathentry kind="lib" path="lib/apple.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/batik-1.8.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/batik-anim-1.8.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/batik-awt-util-1.8.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/batik-bridge-1.8.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/batik-codec-1.8.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/batik-css-1.8.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/batik-dom-1.8.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/batik-ext-1.8.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/batik-gvt-1.8.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/batik-parser-1.8.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/batik-rasterizer-1.8.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/batik-script-1.8.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/batik-squiggle-1.8.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/batik-svg-dom-1.8.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/batik-svgpp-1.8.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/batik-transcoder-1.8.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/batik-util-1.8.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/batik-xml-1.8.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/bcpg-jdk15on-152.jar"/>
|
<classpathentry kind="lib" path="lib/bcpg-jdk15on-152.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/bcprov-jdk15on-152.jar"/>
|
<classpathentry kind="lib" path="lib/bcprov-jdk15on-152.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/commons-codec-1.7.jar"/>
|
<classpathentry kind="lib" path="lib/commons-codec-1.7.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/commons-compress-1.8.jar"/>
|
<classpathentry kind="lib" path="lib/commons-compress-1.8.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/commons-exec-1.1.jar"/>
|
<classpathentry kind="lib" path="lib/commons-exec-1.1.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/commons-httpclient-3.1.jar"/>
|
<classpathentry kind="lib" path="lib/commons-httpclient-3.1.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/commons-lang3-3.3.2.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/commons-logging-1.0.4.jar"/>
|
<classpathentry kind="lib" path="lib/commons-logging-1.0.4.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/commons-net-3.3.jar"/>
|
<classpathentry kind="lib" path="lib/commons-net-3.3.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/jackson-annotations-2.6.3.jar"/>
|
<classpathentry kind="lib" path="lib/jackson-annotations-2.6.3.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/jackson-core-2.6.3.jar"/>
|
<classpathentry kind="lib" path="lib/jackson-core-2.6.3.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/jackson-databind-2.6.3.jar"/>
|
<classpathentry kind="lib" path="lib/jackson-databind-2.6.3.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/jackson-module-mrbean-2.6.3.jar"/>
|
<classpathentry kind="lib" path="lib/jackson-module-mrbean-2.6.3.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/java-semver-0.8.0.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/jmdns-3.4.1.jar"/>
|
<classpathentry kind="lib" path="lib/jmdns-3.4.1.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/jsch-0.1.50.jar"/>
|
<classpathentry kind="lib" path="lib/jsch-0.1.50.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/jssc-2.8.0.jar"/>
|
<classpathentry kind="lib" path="lib/jssc-2.8.0.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/rsyntaxtextarea-2.5.8.1+arduino.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/xml-apis-1.3.04.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/xml-apis-ext-1.3.04.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/xmlgraphics-commons-2.0.jar"/>
|
||||||
<classpathentry kind="lib" path="test-lib/junit-4.11.jar"/>
|
<classpathentry kind="lib" path="test-lib/junit-4.11.jar"/>
|
||||||
<classpathentry kind="lib" path="test-lib/fest-assert-1.2.jar"/>
|
<classpathentry kind="lib" path="test-lib/fest-assert-1.2.jar"/>
|
||||||
<classpathentry kind="lib" path="test-lib/fest-reflect-1.2.jar"/>
|
<classpathentry kind="lib" path="test-lib/fest-reflect-1.2.jar"/>
|
||||||
<classpathentry kind="lib" path="test-lib/fest-swing-1.2.jar"/>
|
<classpathentry kind="lib" path="test-lib/fest-swing-1.2.jar"/>
|
||||||
<classpathentry kind="lib" path="test-lib/fest-util-1.1.2.jar"/>
|
<classpathentry kind="lib" path="test-lib/fest-util-1.1.2.jar"/>
|
||||||
<classpathentry combineaccessrules="false" kind="src" path="/arduino-core"/>
|
|
||||||
<classpathentry kind="lib" path="test-lib/jcip-annotations-1.0.jar"/>
|
<classpathentry kind="lib" path="test-lib/jcip-annotations-1.0.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/commons-lang3-3.3.2.jar"/>
|
|
||||||
<classpathentry kind="lib" path="lib/java-semver-0.8.0.jar"/>
|
|
||||||
<classpathentry kind="lib" path="lib/rsyntaxtextarea-2.5.8.1+arduino.jar"/>
|
|
||||||
<classpathentry kind="output" path="bin"/>
|
|
||||||
</classpath>
|
</classpath>
|
||||||
|
30
app/lib/README.xml-apis-1.3.04.txt
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
This distribution includes xml-apis.jar from the XML Commons External
|
||||||
|
1.3.04 binary distribution, which can also be obtained from:
|
||||||
|
|
||||||
|
http://xml.apache.org/mirrors.cgi
|
||||||
|
|
||||||
|
Source code is available from the XML Commons web site:
|
||||||
|
|
||||||
|
http://xml.apache.org/commons/
|
||||||
|
|
||||||
|
xml-apis.jar contains:
|
||||||
|
|
||||||
|
- DOM Level 2 Events
|
||||||
|
- DOM Level 2 HTML
|
||||||
|
- DOM Level 2 Style
|
||||||
|
- DOM Level 2 Traversal and Range
|
||||||
|
- DOM Level 2 Views
|
||||||
|
- DOM Level 3 Core
|
||||||
|
- DOM Level 3 Load and Save
|
||||||
|
- DOM Level 3 XPath
|
||||||
|
- JAXP 1.3 (JSR 206)
|
||||||
|
- SAX
|
||||||
|
|
||||||
|
All DOM code is licensed under the W3C Software License, and DOM documentation
|
||||||
|
under the W3C Document License. See LICENSE.dom-software.txt and
|
||||||
|
LICENSE.dom-documentation.txt.
|
||||||
|
|
||||||
|
The JAXP 1.3 code is licensed under the Apache Software License 2.0, which is
|
||||||
|
in the LICENSE in the root directory of this distribution.
|
||||||
|
|
||||||
|
SAX is public domain. See LICENSE.sax.txt.
|
19
app/lib/README.xml-apis-ext-1.3.04.txt
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
This distribution includes xml-apis-ext.jar from the XML Commons External
|
||||||
|
1.3.04 binary distribution, which can also be obtained from:
|
||||||
|
|
||||||
|
http://xml.apache.org/mirrors.cgi
|
||||||
|
|
||||||
|
Source code is available from the XML Commons web site:
|
||||||
|
|
||||||
|
http://xml.apache.org/commons/
|
||||||
|
|
||||||
|
xml-apis-ext.jar contains:
|
||||||
|
|
||||||
|
- SAC 1.3
|
||||||
|
- SMIL Java bindings
|
||||||
|
- SVG 1.1 Java bindings
|
||||||
|
|
||||||
|
SAC 1.3, the SMIL Java bindings and the SVG 1.1 Java bindings are licensed
|
||||||
|
under the W3C Software License. Related documentation is licensed under the
|
||||||
|
W3C Document License. See LICENSE.dom-software.txt and
|
||||||
|
LICENSE.dom-documentation.txt.
|
BIN
app/lib/batik-1.8.jar
Normal file
BIN
app/lib/batik-anim-1.8.jar
Normal file
BIN
app/lib/batik-awt-util-1.8.jar
Normal file
BIN
app/lib/batik-bridge-1.8.jar
Normal file
BIN
app/lib/batik-codec-1.8.jar
Normal file
BIN
app/lib/batik-css-1.8.jar
Normal file
BIN
app/lib/batik-dom-1.8.jar
Normal file
BIN
app/lib/batik-ext-1.8.jar
Normal file
BIN
app/lib/batik-gvt-1.8.jar
Normal file
BIN
app/lib/batik-parser-1.8.jar
Normal file
BIN
app/lib/batik-rasterizer-1.8.jar
Normal file
BIN
app/lib/batik-script-1.8.jar
Normal file
BIN
app/lib/batik-squiggle-1.8.jar
Normal file
BIN
app/lib/batik-svg-dom-1.8.jar
Normal file
BIN
app/lib/batik-svgpp-1.8.jar
Normal file
BIN
app/lib/batik-transcoder-1.8.jar
Normal file
BIN
app/lib/batik-util-1.8.jar
Normal file
BIN
app/lib/batik-xml-1.8.jar
Normal file
201
app/lib/batik.LICENSE.ASL-2.0.txt
Normal file
@ -0,0 +1,201 @@
|
|||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright [yyyy] [name of copyright owner]
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
BIN
app/lib/xml-apis-1.3.04.jar
Normal file
BIN
app/lib/xml-apis-ext-1.3.04.jar
Normal file
BIN
app/lib/xmlgraphics-commons-2.0.jar
Normal file
@ -83,11 +83,11 @@ public class ContributionsSelfCheck extends TimerTask {
|
|||||||
|
|
||||||
String text;
|
String text;
|
||||||
if (updatableLibraries > 0 && updatablePlatforms <= 0) {
|
if (updatableLibraries > 0 && updatablePlatforms <= 0) {
|
||||||
text = I18n.format(tr("<br/>Update available for some of your {0}libraries{1}"), "<a href=\"http://librarymanager\">", "</a>");
|
text = I18n.format(tr("Updates available for some of your {0}libraries{1}"), "<a href=\"http://librarymanager\">", "</a>");
|
||||||
} else if (updatableLibraries <= 0 && updatablePlatforms > 0) {
|
} else if (updatableLibraries <= 0 && updatablePlatforms > 0) {
|
||||||
text = I18n.format(tr("<br/>Update available for some of your {0}boards{1}"), "<a href=\"http://boardsmanager\">", "</a>");
|
text = I18n.format(tr("Updates available for some of your {0}boards{1}"), "<a href=\"http://boardsmanager\">", "</a>");
|
||||||
} else {
|
} else {
|
||||||
text = I18n.format(tr("<br/>Update available for some of your {0}boards{1} and {2}libraries{3}"), "<a href=\"http://boardsmanager\">", "</a>", "<a href=\"http://librarymanager\">", "</a>");
|
text = I18n.format(tr("Updates available for some of your {0}boards{1} and {2}libraries{3}"), "<a href=\"http://boardsmanager\">", "</a>", "<a href=\"http://librarymanager\">", "</a>");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cancelled) {
|
if (cancelled) {
|
||||||
|
@ -26,6 +26,7 @@ import cc.arduino.contributions.DownloadableContributionVersionComparator;
|
|||||||
import cc.arduino.contributions.libraries.ContributedLibrary;
|
import cc.arduino.contributions.libraries.ContributedLibrary;
|
||||||
import cc.arduino.contributions.ui.InstallerTableCell;
|
import cc.arduino.contributions.ui.InstallerTableCell;
|
||||||
import processing.app.Base;
|
import processing.app.Base;
|
||||||
|
import processing.app.Theme;
|
||||||
|
|
||||||
public class ContributedLibraryTableCellJPanel extends JPanel {
|
public class ContributedLibraryTableCellJPanel extends JPanel {
|
||||||
|
|
||||||
@ -217,10 +218,10 @@ public class ContributedLibraryTableCellJPanel extends JPanel {
|
|||||||
Document doc = description.getDocument();
|
Document doc = description.getDocument();
|
||||||
if (doc instanceof HTMLDocument) {
|
if (doc instanceof HTMLDocument) {
|
||||||
HTMLDocument html = (HTMLDocument) doc;
|
HTMLDocument html = (HTMLDocument) doc;
|
||||||
StyleSheet stylesheet = html.getStyleSheet();
|
StyleSheet s = html.getStyleSheet();
|
||||||
stylesheet.addRule("body { margin: 0; padding: 0;"
|
s.addRule("body { margin: 0; padding: 0;"
|
||||||
+ "font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;"
|
+ "font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;"
|
||||||
+ "font-size: 100%;" + "font-size: 0.95em; }");
|
+ "font-size: " + 10 * Theme.getScale() / 100 + "; }");
|
||||||
}
|
}
|
||||||
description.setOpaque(false);
|
description.setOpaque(false);
|
||||||
description.setBorder(new EmptyBorder(4, 7, 7, 7));
|
description.setBorder(new EmptyBorder(4, 7, 7, 7));
|
||||||
|
@ -57,6 +57,7 @@ import cc.arduino.contributions.packages.ContributedHelp;
|
|||||||
import cc.arduino.contributions.packages.ContributedPlatform;
|
import cc.arduino.contributions.packages.ContributedPlatform;
|
||||||
import cc.arduino.contributions.ui.InstallerTableCell;
|
import cc.arduino.contributions.ui.InstallerTableCell;
|
||||||
import processing.app.Base;
|
import processing.app.Base;
|
||||||
|
import processing.app.Theme;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
public class ContributedPlatformTableCellJPanel extends JPanel {
|
public class ContributedPlatformTableCellJPanel extends JPanel {
|
||||||
@ -259,10 +260,10 @@ public class ContributedPlatformTableCellJPanel extends JPanel {
|
|||||||
Document doc = description.getDocument();
|
Document doc = description.getDocument();
|
||||||
if (doc instanceof HTMLDocument) {
|
if (doc instanceof HTMLDocument) {
|
||||||
HTMLDocument html = (HTMLDocument) doc;
|
HTMLDocument html = (HTMLDocument) doc;
|
||||||
StyleSheet stylesheet = html.getStyleSheet();
|
StyleSheet s = html.getStyleSheet();
|
||||||
stylesheet.addRule("body { margin: 0; padding: 0;"
|
s.addRule("body { margin: 0; padding: 0;"
|
||||||
+ "font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;"
|
+ "font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;"
|
||||||
+ "font-size: 100%;" + "font-size: 0.95em; }");
|
+ "font-size: " + 10 * Theme.getScale() / 100 + "; }");
|
||||||
}
|
}
|
||||||
description.setOpaque(false);
|
description.setOpaque(false);
|
||||||
description.setBorder(new EmptyBorder(4, 7, 7, 7));
|
description.setBorder(new EmptyBorder(4, 7, 7, 7));
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
package cc.arduino.contributions.ui;
|
package cc.arduino.contributions.ui;
|
||||||
|
|
||||||
import static processing.app.I18n.tr;
|
import static processing.app.I18n.tr;
|
||||||
|
import static processing.app.Theme.scale;
|
||||||
|
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
@ -227,7 +228,7 @@ public abstract class InstallerJDialog<T> extends JDialog {
|
|||||||
}
|
}
|
||||||
setProgressVisible(false, "");
|
setProgressVisible(false, "");
|
||||||
|
|
||||||
setMinimumSize(new Dimension(800, 450));
|
setMinimumSize(scale(new Dimension(800, 450)));
|
||||||
|
|
||||||
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
|
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
|
||||||
|
|
||||||
|
@ -1,89 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
|
||||||
|
|
||||||
<Form version="1.5" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
|
|
||||||
<Properties>
|
|
||||||
<Property name="defaultCloseOperation" type="int" value="2"/>
|
|
||||||
<Property name="alwaysOnTop" type="boolean" value="true"/>
|
|
||||||
<Property name="focusable" type="boolean" value="false"/>
|
|
||||||
<Property name="focusableWindowState" type="boolean" value="false"/>
|
|
||||||
<Property name="undecorated" type="boolean" value="true"/>
|
|
||||||
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
|
||||||
<Dimension value="[350, 70]"/>
|
|
||||||
</Property>
|
|
||||||
<Property name="resizable" type="boolean" value="false"/>
|
|
||||||
<Property name="size" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
|
||||||
<Dimension value="[350, 70]"/>
|
|
||||||
</Property>
|
|
||||||
</Properties>
|
|
||||||
<SyntheticProperties>
|
|
||||||
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
|
|
||||||
<SyntheticProperty name="generateCenter" type="boolean" value="false"/>
|
|
||||||
</SyntheticProperties>
|
|
||||||
<AuxValues>
|
|
||||||
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
|
|
||||||
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
|
|
||||||
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
|
||||||
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
|
|
||||||
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
|
|
||||||
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
|
||||||
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
|
||||||
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
|
||||||
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
|
||||||
<AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,0,0,0,2,14"/>
|
|
||||||
</AuxValues>
|
|
||||||
|
|
||||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout">
|
|
||||||
<Property name="useNullLayout" type="boolean" value="true"/>
|
|
||||||
</Layout>
|
|
||||||
<SubComponents>
|
|
||||||
<Component class="javax.swing.JLabel" name="icon">
|
|
||||||
<Properties>
|
|
||||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
|
|
||||||
<Connection code="new ImageIcon(Paths.get(BaseNoGui.getContentFile("lib").getAbsolutePath(), "arduino_small.png").toFile().getAbsolutePath())" type="code"/>
|
|
||||||
</Property>
|
|
||||||
</Properties>
|
|
||||||
<Constraints>
|
|
||||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
|
|
||||||
<AbsoluteConstraints x="10" y="10" width="50" height="50"/>
|
|
||||||
</Constraint>
|
|
||||||
</Constraints>
|
|
||||||
</Component>
|
|
||||||
<Component class="javax.swing.JEditorPane" name="text">
|
|
||||||
<Properties>
|
|
||||||
<Property name="editable" type="boolean" value="false"/>
|
|
||||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
|
||||||
<Border info="org.netbeans.modules.form.compat2.border.LineBorderInfo">
|
|
||||||
<LineBorder roundedCorners="true" thickness="0"/>
|
|
||||||
</Border>
|
|
||||||
</Property>
|
|
||||||
<Property name="contentType" type="java.lang.String" value="text/html" noResource="true"/>
|
|
||||||
<Property name="opaque" type="boolean" value="false"/>
|
|
||||||
</Properties>
|
|
||||||
<Constraints>
|
|
||||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
|
|
||||||
<AbsoluteConstraints x="70" y="10" width="270" height="50"/>
|
|
||||||
</Constraint>
|
|
||||||
</Constraints>
|
|
||||||
</Component>
|
|
||||||
<Component class="javax.swing.JButton" name="closeButton">
|
|
||||||
<Properties>
|
|
||||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
|
|
||||||
<Connection code="new ImageIcon(Paths.get(BaseNoGui.getContentFile("lib").getAbsolutePath(), "theme", "close.png").toFile().getAbsolutePath())" type="code"/>
|
|
||||||
</Property>
|
|
||||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
|
||||||
<Border info="null"/>
|
|
||||||
</Property>
|
|
||||||
<Property name="borderPainted" type="boolean" value="false"/>
|
|
||||||
<Property name="hideActionText" type="boolean" value="true"/>
|
|
||||||
</Properties>
|
|
||||||
<Events>
|
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="closeButtonActionPerformed"/>
|
|
||||||
</Events>
|
|
||||||
<Constraints>
|
|
||||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
|
|
||||||
<AbsoluteConstraints x="328" y="0" width="22" height="22"/>
|
|
||||||
</Constraint>
|
|
||||||
</Constraints>
|
|
||||||
</Component>
|
|
||||||
</SubComponents>
|
|
||||||
</Form>
|
|
@ -29,26 +29,80 @@
|
|||||||
|
|
||||||
package cc.arduino.view;
|
package cc.arduino.view;
|
||||||
|
|
||||||
import processing.app.Base;
|
import static processing.app.Theme.scale;
|
||||||
import processing.app.BaseNoGui;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
import java.awt.Color;
|
||||||
import javax.swing.event.HyperlinkEvent;
|
import java.awt.FlowLayout;
|
||||||
|
import java.awt.Frame;
|
||||||
|
import java.awt.Image;
|
||||||
|
import java.awt.Point;
|
||||||
|
import java.awt.event.ComponentAdapter;
|
||||||
|
import java.awt.event.ComponentEvent;
|
||||||
|
import java.awt.event.MouseAdapter;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
import java.awt.event.WindowAdapter;
|
||||||
|
import java.awt.event.WindowEvent;
|
||||||
|
|
||||||
|
import javax.swing.ImageIcon;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JDialog;
|
||||||
|
import javax.swing.JEditorPane;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.WindowConstants;
|
||||||
|
import javax.swing.border.LineBorder;
|
||||||
import javax.swing.event.HyperlinkListener;
|
import javax.swing.event.HyperlinkListener;
|
||||||
import java.awt.*;
|
|
||||||
import java.awt.event.*;
|
import processing.app.Theme;
|
||||||
import java.nio.file.Paths;
|
|
||||||
|
|
||||||
public class NotificationPopup extends JDialog {
|
public class NotificationPopup extends JDialog {
|
||||||
|
|
||||||
private final ComponentAdapter parentMovedListener;
|
public NotificationPopup(Frame parent, HyperlinkListener hyperlinkListener,
|
||||||
|
String message) {
|
||||||
public NotificationPopup(Frame parent, HyperlinkListener hyperlinkListener, String message) {
|
|
||||||
super(parent, false);
|
super(parent, false);
|
||||||
initComponents();
|
setLayout(new FlowLayout());
|
||||||
|
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
|
||||||
|
setAlwaysOnTop(true);
|
||||||
|
setUndecorated(true);
|
||||||
|
setResizable(false);
|
||||||
|
|
||||||
|
Image arduino = Theme.getLibImage("arduino", this, scale(40), scale(40));
|
||||||
|
JLabel arduinoIcon = new JLabel(new ImageIcon(arduino));
|
||||||
|
add(arduinoIcon);
|
||||||
|
|
||||||
|
JEditorPane text = new JEditorPane();
|
||||||
|
text.setBorder(new LineBorder(new Color(0, 0, 0), 0, true));
|
||||||
|
text.setContentType("text/html"); // NOI18N
|
||||||
|
text.setOpaque(false);
|
||||||
|
text.setEditable(false);
|
||||||
|
text.setText("<html><body style=\"font-family:sans-serif; font-size: "
|
||||||
|
+ scale(14) + ";\"> " + message + " </body></html>");
|
||||||
|
text.addHyperlinkListener(hyperlinkListener);
|
||||||
|
add(text);
|
||||||
|
|
||||||
|
Image close = Theme.getThemeImage("close", this, scale(22), scale(22));
|
||||||
|
JButton closeButton = new JButton(new ImageIcon(close));
|
||||||
|
closeButton.setBorder(null);
|
||||||
|
closeButton.setBorderPainted(false);
|
||||||
|
closeButton.setHideActionText(true);
|
||||||
|
closeButton.setOpaque(false);
|
||||||
|
closeButton.setBackground(new Color(0, 0, 0, 0));
|
||||||
|
add(closeButton);
|
||||||
|
|
||||||
|
MouseAdapter closeOnClick = new MouseAdapter() {
|
||||||
|
@Override
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
close();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
addMouseListener(closeOnClick);
|
||||||
|
text.addMouseListener(closeOnClick);
|
||||||
|
arduinoIcon.addMouseListener(closeOnClick);
|
||||||
|
closeButton.addMouseListener(closeOnClick);
|
||||||
|
|
||||||
|
pack();
|
||||||
|
|
||||||
updateLocation(parent);
|
updateLocation(parent);
|
||||||
parentMovedListener = new ComponentAdapter() {
|
ComponentAdapter parentMovedListener = new ComponentAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void componentMoved(ComponentEvent e) {
|
public void componentMoved(ComponentEvent e) {
|
||||||
updateLocation(parent);
|
updateLocation(parent);
|
||||||
@ -60,35 +114,12 @@ public class NotificationPopup extends JDialog {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
parent.addComponentListener(parentMovedListener);
|
parent.addComponentListener(parentMovedListener);
|
||||||
|
|
||||||
text.setText("<html><body style=\"font-family:sans-serif;font-size:12pt\">" + message + "</body></html>");
|
|
||||||
|
|
||||||
text.addHyperlinkListener(hyperlinkListener);
|
|
||||||
text.addHyperlinkListener(e -> {
|
|
||||||
if (e.getEventType() != HyperlinkEvent.EventType.ACTIVATED) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
close();
|
|
||||||
});
|
|
||||||
|
|
||||||
addWindowListener(new WindowAdapter() {
|
addWindowListener(new WindowAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void windowClosed(WindowEvent e) {
|
public void windowClosed(WindowEvent e) {
|
||||||
parent.removeComponentListener(parentMovedListener);
|
parent.removeComponentListener(parentMovedListener);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
Base.registerWindowCloseKeys(getRootPane(), e -> close());
|
|
||||||
|
|
||||||
MouseAdapter closeOnClick = new MouseAdapter() {
|
|
||||||
@Override
|
|
||||||
public void mouseClicked(MouseEvent e) {
|
|
||||||
close();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
addMouseListener(closeOnClick);
|
|
||||||
text.addMouseListener(closeOnClick);
|
|
||||||
icon.addMouseListener(closeOnClick);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateLocation(Frame parent) {
|
private void updateLocation(Frame parent) {
|
||||||
@ -100,87 +131,6 @@ public class NotificationPopup extends JDialog {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void close() {
|
public void close() {
|
||||||
dispatchEvent(new WindowEvent(NotificationPopup.this, WindowEvent.WINDOW_CLOSING));
|
dispatchEvent(new WindowEvent(this, WindowEvent.WINDOW_CLOSING));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* This method is called from within the constructor to initialize the form.
|
|
||||||
* WARNING: Do NOT modify this code. The content of this method is always
|
|
||||||
* regenerated by the Form Editor.
|
|
||||||
*/
|
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
|
||||||
private void initComponents() {
|
|
||||||
|
|
||||||
icon = new javax.swing.JLabel();
|
|
||||||
text = new javax.swing.JEditorPane();
|
|
||||||
closeButton = new javax.swing.JButton();
|
|
||||||
|
|
||||||
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
|
||||||
setAlwaysOnTop(true);
|
|
||||||
setFocusable(false);
|
|
||||||
setFocusableWindowState(false);
|
|
||||||
setUndecorated(true);
|
|
||||||
setPreferredSize(new java.awt.Dimension(350, 70));
|
|
||||||
setResizable(false);
|
|
||||||
setSize(new java.awt.Dimension(350, 70));
|
|
||||||
getContentPane().setLayout(null);
|
|
||||||
|
|
||||||
icon.setIcon(new ImageIcon(Paths.get(BaseNoGui.getContentFile("lib").getAbsolutePath(), "arduino_small.png").toFile().getAbsolutePath()));
|
|
||||||
getContentPane().add(icon);
|
|
||||||
icon.setBounds(10, 10, 50, 50);
|
|
||||||
|
|
||||||
text.setEditable(false);
|
|
||||||
text.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 0, true));
|
|
||||||
text.setContentType("text/html"); // NOI18N
|
|
||||||
text.setOpaque(false);
|
|
||||||
getContentPane().add(text);
|
|
||||||
text.setBounds(70, 10, 270, 50);
|
|
||||||
|
|
||||||
closeButton.setIcon(new ImageIcon(Paths.get(BaseNoGui.getContentFile("lib").getAbsolutePath(), "theme", "close.png").toFile().getAbsolutePath()));
|
|
||||||
closeButton.setBorder(null);
|
|
||||||
closeButton.setBorderPainted(false);
|
|
||||||
closeButton.setHideActionText(true);
|
|
||||||
closeButton.addActionListener(new java.awt.event.ActionListener() {
|
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
||||||
closeButtonActionPerformed(evt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
getContentPane().add(closeButton);
|
|
||||||
closeButton.setBounds(328, 0, 22, 22);
|
|
||||||
|
|
||||||
pack();
|
|
||||||
}// </editor-fold>//GEN-END:initComponents
|
|
||||||
|
|
||||||
private void closeButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_closeButtonActionPerformed
|
|
||||||
close();
|
|
||||||
}//GEN-LAST:event_closeButtonActionPerformed
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param args the command line arguments
|
|
||||||
*/
|
|
||||||
public static void main(String args[]) {
|
|
||||||
|
|
||||||
/* Create and display the dialog */
|
|
||||||
EventQueue.invokeLater(new Runnable() {
|
|
||||||
public void run() {
|
|
||||||
NotificationPopup dialog = new NotificationPopup(new JFrame(), System.out::println, "<a href='arduinoide://boardsmanager'>test</a> test test test test test test test test\n" +
|
|
||||||
" test test test test test test test test test test test");
|
|
||||||
dialog.addWindowListener(new WindowAdapter() {
|
|
||||||
@Override
|
|
||||||
public void windowClosing(WindowEvent e) {
|
|
||||||
System.exit(0);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
dialog.setVisible(true);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
|
||||||
private javax.swing.JButton closeButton;
|
|
||||||
private javax.swing.JLabel icon;
|
|
||||||
private javax.swing.JEditorPane text;
|
|
||||||
// End of variables declaration//GEN-END:variables
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -35,6 +35,8 @@ import java.awt.*;
|
|||||||
import java.awt.geom.Rectangle2D;
|
import java.awt.geom.Rectangle2D;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import processing.app.Theme;
|
||||||
|
|
||||||
public class SplashScreenHelper {
|
public class SplashScreenHelper {
|
||||||
|
|
||||||
private static final int X_OFFSET = 0;
|
private static final int X_OFFSET = 0;
|
||||||
@ -96,7 +98,7 @@ public class SplashScreenHelper {
|
|||||||
private void prepareTextAreaAndGraphics() {
|
private void prepareTextAreaAndGraphics() {
|
||||||
splashTextArea = new Rectangle2D.Double(X_OFFSET, Y_OFFSET, TEXTAREA_WIDTH, TEXTAREA_HEIGHT);
|
splashTextArea = new Rectangle2D.Double(X_OFFSET, Y_OFFSET, TEXTAREA_WIDTH, TEXTAREA_HEIGHT);
|
||||||
|
|
||||||
splashGraphics = splash.createGraphics();
|
splashGraphics = Theme.setupGraphics2D(splash.createGraphics());
|
||||||
|
|
||||||
if (desktopHints != null) {
|
if (desktopHints != null) {
|
||||||
splashGraphics.addRenderingHints(desktopHints);
|
splashGraphics.addRenderingHints(desktopHints);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
|
||||||
<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
|
<Form version="1.5" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
|
||||||
<NonVisualComponents>
|
<NonVisualComponents>
|
||||||
<Component class="javax.swing.ButtonGroup" name="proxyTypeButtonGroup">
|
<Component class="javax.swing.ButtonGroup" name="proxyTypeButtonGroup">
|
||||||
</Component>
|
</Component>
|
||||||
@ -42,7 +42,7 @@
|
|||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
<DimensionLayout dim="1">
|
<DimensionLayout dim="1">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<EmptySpace min="0" pref="610" max="32767" attributes="0"/>
|
<EmptySpace min="0" pref="637" max="32767" attributes="0"/>
|
||||||
<Group type="103" rootIndex="1" groupAlignment="0" attributes="0">
|
<Group type="103" rootIndex="1" groupAlignment="0" attributes="0">
|
||||||
<Component id="jPanel2" alignment="0" max="32767" attributes="0"/>
|
<Component id="jPanel2" alignment="0" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
@ -94,7 +94,7 @@
|
|||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Group type="102" attributes="0">
|
<Group type="102" attributes="0">
|
||||||
<Component id="sketchbookLocationField" max="32767" attributes="0"/>
|
<Component id="sketchbookLocationField" pref="553" max="32767" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="browseButton" min="-2" max="-2" attributes="0"/>
|
<Component id="browseButton" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
@ -102,12 +102,26 @@
|
|||||||
<Group type="102" attributes="0">
|
<Group type="102" attributes="0">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Group type="102" alignment="0" attributes="0">
|
<Group type="102" alignment="0" attributes="0">
|
||||||
<Component id="comboWarningsLabel" min="-2" max="-2" attributes="0"/>
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Component id="jLabel1" linkSize="1" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="comboWarningsLabel" linkSize="1" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Component id="comboWarnings" min="-2" max="-2" attributes="0"/>
|
<Component id="comboWarnings" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<Component id="autoScaleCheckBox" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="scaleSpinner" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="0" max="-2" attributes="0"/>
|
||||||
|
<Component id="jLabel3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="jLabel2" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
<Group type="102" alignment="0" attributes="0">
|
<Group type="102" alignment="0" attributes="0">
|
||||||
<Component id="showVerboseLabel" min="-2" max="-2" attributes="0"/>
|
<Component id="showVerboseLabel" linkSize="1" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="verboseCompilationBox" min="-2" max="-2" attributes="0"/>
|
<Component id="verboseCompilationBox" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
@ -115,8 +129,8 @@
|
|||||||
</Group>
|
</Group>
|
||||||
<Group type="102" alignment="0" attributes="0">
|
<Group type="102" alignment="0" attributes="0">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Component id="comboLanguageLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
<Component id="comboLanguageLabel" linkSize="1" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="fontSizeLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
<Component id="fontSizeLabel" linkSize="1" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
@ -169,12 +183,20 @@
|
|||||||
<Component id="fontSizeField" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="fontSizeField" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Group type="103" groupAlignment="3" attributes="0">
|
||||||
|
<Component id="jLabel1" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="jLabel2" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="scaleSpinner" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="autoScaleCheckBox" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="jLabel3" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="3" attributes="0">
|
<Group type="103" groupAlignment="3" attributes="0">
|
||||||
<Component id="showVerboseLabel" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="showVerboseLabel" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="verboseCompilationBox" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="verboseCompilationBox" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="verboseUploadBox" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="verboseUploadBox" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace min="-2" max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="3" attributes="0">
|
<Group type="103" groupAlignment="3" attributes="0">
|
||||||
<Component id="comboWarningsLabel" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="comboWarningsLabel" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="comboWarnings" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="comboWarnings" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
@ -342,7 +364,7 @@
|
|||||||
<Component class="javax.swing.JButton" name="extendedAdditionalUrlFieldWindow">
|
<Component class="javax.swing.JButton" name="extendedAdditionalUrlFieldWindow">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
|
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
|
||||||
<Connection code="new ImageIcon(Base.getThemeImage("newwindow.gif", this))" type="code"/>
|
<Connection code="new ImageIcon(Theme.getThemeImage("newwindow", this, Theme.scale(16), Theme.scale(14)))" type="code"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||||
<Insets value="[1, 1, 1, 1]"/>
|
<Insets value="[1, 1, 1, 1]"/>
|
||||||
@ -460,6 +482,44 @@
|
|||||||
</Component>
|
</Component>
|
||||||
</SubComponents>
|
</SubComponents>
|
||||||
</Container>
|
</Container>
|
||||||
|
<Component class="javax.swing.JLabel" name="jLabel1">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
|
||||||
|
<Connection code="tr("Interface scale:")" type="code"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JLabel" name="jLabel2">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
|
||||||
|
<Connection code="tr(" (requires restart of Arduino)")" type="code"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JSpinner" name="scaleSpinner">
|
||||||
|
<Properties>
|
||||||
|
<Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
|
||||||
|
<SpinnerModel initial="100" maximum="200" minimum="100" numberType="java.lang.Integer" stepSize="5" type="number"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="enabled" type="boolean" value="false"/>
|
||||||
|
</Properties>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JCheckBox" name="autoScaleCheckBox">
|
||||||
|
<Properties>
|
||||||
|
<Property name="selected" type="boolean" value="true"/>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
|
||||||
|
<Connection code="tr("Automatic")" type="code"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="itemStateChanged" listener="java.awt.event.ItemListener" parameters="java.awt.event.ItemEvent" handler="autoScaleCheckBoxItemStateChanged"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JLabel" name="jLabel3">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" value="%"/>
|
||||||
|
</Properties>
|
||||||
|
</Component>
|
||||||
</SubComponents>
|
</SubComponents>
|
||||||
</Container>
|
</Container>
|
||||||
<Container class="javax.swing.JPanel" name="jPanel4">
|
<Container class="javax.swing.JPanel" name="jPanel4">
|
||||||
@ -596,7 +656,7 @@
|
|||||||
<Component id="manualProxyPassword" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="manualProxyPassword" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="manualProxyPasswordLabel" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="manualProxyPasswordLabel" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace pref="163" max="32767" attributes="0"/>
|
<EmptySpace pref="190" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
|
@ -36,6 +36,7 @@ import processing.app.Base;
|
|||||||
import processing.app.BaseNoGui;
|
import processing.app.BaseNoGui;
|
||||||
import processing.app.I18n;
|
import processing.app.I18n;
|
||||||
import processing.app.PreferencesData;
|
import processing.app.PreferencesData;
|
||||||
|
import processing.app.Theme;
|
||||||
import processing.app.helpers.FileUtils;
|
import processing.app.helpers.FileUtils;
|
||||||
import processing.app.legacy.PApplet;
|
import processing.app.legacy.PApplet;
|
||||||
|
|
||||||
@ -102,27 +103,27 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
manualProxyTypeButtonGroup = new javax.swing.ButtonGroup();
|
manualProxyTypeButtonGroup = new javax.swing.ButtonGroup();
|
||||||
javax.swing.JPanel jPanel2 = new javax.swing.JPanel();
|
javax.swing.JPanel jPanel2 = new javax.swing.JPanel();
|
||||||
javax.swing.JTabbedPane jTabbedPane1 = new javax.swing.JTabbedPane();
|
javax.swing.JTabbedPane jTabbedPane1 = new javax.swing.JTabbedPane();
|
||||||
javax.swing.JPanel jPanel1 = new javax.swing.JPanel();
|
jPanel1 = new javax.swing.JPanel();
|
||||||
javax.swing.JLabel sketchbookLocationLabel = new javax.swing.JLabel();
|
sketchbookLocationLabel = new javax.swing.JLabel();
|
||||||
sketchbookLocationField = new javax.swing.JTextField();
|
sketchbookLocationField = new javax.swing.JTextField();
|
||||||
javax.swing.JButton browseButton = new javax.swing.JButton();
|
browseButton = new javax.swing.JButton();
|
||||||
javax.swing.JLabel comboLanguageLabel = new javax.swing.JLabel();
|
comboLanguageLabel = new javax.swing.JLabel();
|
||||||
comboLanguage = new JComboBox(Languages.languages);
|
comboLanguage = new JComboBox(Languages.languages);
|
||||||
javax.swing.JLabel requiresRestartLabel = new javax.swing.JLabel();
|
requiresRestartLabel = new javax.swing.JLabel();
|
||||||
javax.swing.JLabel fontSizeLabel = new javax.swing.JLabel();
|
fontSizeLabel = new javax.swing.JLabel();
|
||||||
fontSizeField = new javax.swing.JTextField();
|
fontSizeField = new javax.swing.JTextField();
|
||||||
javax.swing.JLabel showVerboseLabel = new javax.swing.JLabel();
|
showVerboseLabel = new javax.swing.JLabel();
|
||||||
verboseCompilationBox = new javax.swing.JCheckBox();
|
verboseCompilationBox = new javax.swing.JCheckBox();
|
||||||
verboseUploadBox = new javax.swing.JCheckBox();
|
verboseUploadBox = new javax.swing.JCheckBox();
|
||||||
javax.swing.JLabel comboWarningsLabel = new javax.swing.JLabel();
|
comboWarningsLabel = new javax.swing.JLabel();
|
||||||
comboWarnings = new JComboBox(warningItems);
|
comboWarnings = new JComboBox(warningItems);
|
||||||
javax.swing.JLabel additionalBoardsManagerLabel = new javax.swing.JLabel();
|
additionalBoardsManagerLabel = new javax.swing.JLabel();
|
||||||
additionalBoardsManagerField = new javax.swing.JTextField();
|
additionalBoardsManagerField = new javax.swing.JTextField();
|
||||||
javax.swing.JButton extendedAdditionalUrlFieldWindow = new javax.swing.JButton();
|
extendedAdditionalUrlFieldWindow = new javax.swing.JButton();
|
||||||
javax.swing.JLabel morePreferencesLabel = new javax.swing.JLabel();
|
morePreferencesLabel = new javax.swing.JLabel();
|
||||||
preferencesFileLabel = new javax.swing.JLabel();
|
preferencesFileLabel = new javax.swing.JLabel();
|
||||||
javax.swing.JLabel arduinoNotRunningLabel = new javax.swing.JLabel();
|
arduinoNotRunningLabel = new javax.swing.JLabel();
|
||||||
javax.swing.JPanel checkboxesContainer = new javax.swing.JPanel();
|
checkboxesContainer = new javax.swing.JPanel();
|
||||||
displayLineNumbersBox = new javax.swing.JCheckBox();
|
displayLineNumbersBox = new javax.swing.JCheckBox();
|
||||||
enableCodeFoldingBox = new javax.swing.JCheckBox();
|
enableCodeFoldingBox = new javax.swing.JCheckBox();
|
||||||
verifyUploadBox = new javax.swing.JCheckBox();
|
verifyUploadBox = new javax.swing.JCheckBox();
|
||||||
@ -130,6 +131,11 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
checkUpdatesBox = new javax.swing.JCheckBox();
|
checkUpdatesBox = new javax.swing.JCheckBox();
|
||||||
updateExtensionBox = new javax.swing.JCheckBox();
|
updateExtensionBox = new javax.swing.JCheckBox();
|
||||||
saveVerifyUploadBox = new javax.swing.JCheckBox();
|
saveVerifyUploadBox = new javax.swing.JCheckBox();
|
||||||
|
jLabel1 = new javax.swing.JLabel();
|
||||||
|
jLabel2 = new javax.swing.JLabel();
|
||||||
|
scaleSpinner = new javax.swing.JSpinner();
|
||||||
|
autoScaleCheckBox = new javax.swing.JCheckBox();
|
||||||
|
jLabel3 = new javax.swing.JLabel();
|
||||||
javax.swing.JPanel jPanel4 = new javax.swing.JPanel();
|
javax.swing.JPanel jPanel4 = new javax.swing.JPanel();
|
||||||
noProxy = new javax.swing.JRadioButton();
|
noProxy = new javax.swing.JRadioButton();
|
||||||
autoProxy = new javax.swing.JRadioButton();
|
autoProxy = new javax.swing.JRadioButton();
|
||||||
@ -196,7 +202,7 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
|
|
||||||
additionalBoardsManagerField.setToolTipText(tr("Enter a comma separated list of urls"));
|
additionalBoardsManagerField.setToolTipText(tr("Enter a comma separated list of urls"));
|
||||||
|
|
||||||
extendedAdditionalUrlFieldWindow.setIcon(new ImageIcon(Base.getThemeImage("newwindow.gif", this)));
|
extendedAdditionalUrlFieldWindow.setIcon(new ImageIcon(Theme.getThemeImage("newwindow", this, Theme.scale(16), Theme.scale(14))));
|
||||||
extendedAdditionalUrlFieldWindow.setMargin(new java.awt.Insets(1, 1, 1, 1));
|
extendedAdditionalUrlFieldWindow.setMargin(new java.awt.Insets(1, 1, 1, 1));
|
||||||
extendedAdditionalUrlFieldWindow.addActionListener(new java.awt.event.ActionListener() {
|
extendedAdditionalUrlFieldWindow.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
@ -213,11 +219,9 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
public void mousePressed(java.awt.event.MouseEvent evt) {
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
||||||
preferencesFileLabelMousePressed(evt);
|
preferencesFileLabelMousePressed(evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void mouseExited(java.awt.event.MouseEvent evt) {
|
public void mouseExited(java.awt.event.MouseEvent evt) {
|
||||||
preferencesFileLabelMouseExited(evt);
|
preferencesFileLabelMouseExited(evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void mouseEntered(java.awt.event.MouseEvent evt) {
|
public void mouseEntered(java.awt.event.MouseEvent evt) {
|
||||||
preferencesFileLabelMouseEntered(evt);
|
preferencesFileLabelMouseEntered(evt);
|
||||||
}
|
}
|
||||||
@ -249,6 +253,23 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
saveVerifyUploadBox.setText(tr("Save when verifying or uploading"));
|
saveVerifyUploadBox.setText(tr("Save when verifying or uploading"));
|
||||||
checkboxesContainer.add(saveVerifyUploadBox);
|
checkboxesContainer.add(saveVerifyUploadBox);
|
||||||
|
|
||||||
|
jLabel1.setText(tr("Interface scale:"));
|
||||||
|
|
||||||
|
jLabel2.setText(tr(" (requires restart of Arduino)"));
|
||||||
|
|
||||||
|
scaleSpinner.setModel(new javax.swing.SpinnerNumberModel(100, 100, 400, 5));
|
||||||
|
scaleSpinner.setEnabled(false);
|
||||||
|
|
||||||
|
autoScaleCheckBox.setSelected(true);
|
||||||
|
autoScaleCheckBox.setText(tr("Automatic"));
|
||||||
|
autoScaleCheckBox.addItemListener(new java.awt.event.ItemListener() {
|
||||||
|
public void itemStateChanged(java.awt.event.ItemEvent evt) {
|
||||||
|
autoScaleCheckBoxItemStateChanged(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
jLabel3.setText("%");
|
||||||
|
|
||||||
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
|
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
|
||||||
jPanel1.setLayout(jPanel1Layout);
|
jPanel1.setLayout(jPanel1Layout);
|
||||||
jPanel1Layout.setHorizontalGroup(
|
jPanel1Layout.setHorizontalGroup(
|
||||||
@ -257,16 +278,27 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
.addContainerGap()
|
.addContainerGap()
|
||||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(jPanel1Layout.createSequentialGroup()
|
.addGroup(jPanel1Layout.createSequentialGroup()
|
||||||
.addComponent(sketchbookLocationField)
|
.addComponent(sketchbookLocationField, javax.swing.GroupLayout.DEFAULT_SIZE, 553, Short.MAX_VALUE)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(browseButton))
|
.addComponent(browseButton))
|
||||||
.addComponent(checkboxesContainer, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
.addComponent(checkboxesContainer, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||||
.addGroup(jPanel1Layout.createSequentialGroup()
|
.addGroup(jPanel1Layout.createSequentialGroup()
|
||||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(jPanel1Layout.createSequentialGroup()
|
.addGroup(jPanel1Layout.createSequentialGroup()
|
||||||
.addComponent(comboWarningsLabel)
|
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addComponent(jLabel1)
|
||||||
|
.addComponent(comboWarningsLabel))
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(comboWarnings, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addComponent(comboWarnings, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addGroup(jPanel1Layout.createSequentialGroup()
|
||||||
|
.addComponent(autoScaleCheckBox)
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
|
.addComponent(scaleSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addGap(0, 0, 0)
|
||||||
|
.addComponent(jLabel3)
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
|
.addComponent(jLabel2))))
|
||||||
.addGroup(jPanel1Layout.createSequentialGroup()
|
.addGroup(jPanel1Layout.createSequentialGroup()
|
||||||
.addComponent(showVerboseLabel)
|
.addComponent(showVerboseLabel)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
@ -297,6 +329,9 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
.addGap(0, 0, Short.MAX_VALUE)))
|
.addGap(0, 0, Short.MAX_VALUE)))
|
||||||
.addContainerGap())
|
.addContainerGap())
|
||||||
);
|
);
|
||||||
|
|
||||||
|
jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {comboLanguageLabel, comboWarningsLabel, fontSizeLabel, jLabel1, showVerboseLabel});
|
||||||
|
|
||||||
jPanel1Layout.setVerticalGroup(
|
jPanel1Layout.setVerticalGroup(
|
||||||
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
|
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
|
||||||
@ -316,6 +351,13 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
.addComponent(fontSizeLabel)
|
.addComponent(fontSizeLabel)
|
||||||
.addComponent(fontSizeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
.addComponent(fontSizeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
|
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||||
|
.addComponent(jLabel1)
|
||||||
|
.addComponent(jLabel2)
|
||||||
|
.addComponent(scaleSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addComponent(autoScaleCheckBox)
|
||||||
|
.addComponent(jLabel3))
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||||
.addComponent(showVerboseLabel)
|
.addComponent(showVerboseLabel)
|
||||||
.addComponent(verboseCompilationBox)
|
.addComponent(verboseCompilationBox)
|
||||||
@ -489,7 +531,7 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||||
.addComponent(manualProxyPassword, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(manualProxyPassword, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(manualProxyPasswordLabel))
|
.addComponent(manualProxyPasswordLabel))
|
||||||
.addContainerGap(163, Short.MAX_VALUE))
|
.addContainerGap(190, Short.MAX_VALUE))
|
||||||
);
|
);
|
||||||
|
|
||||||
jTabbedPane1.addTab(tr("Network"), jPanel4);
|
jTabbedPane1.addTab(tr("Network"), jPanel4);
|
||||||
@ -543,7 +585,7 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
);
|
);
|
||||||
layout.setVerticalGroup(
|
layout.setVerticalGroup(
|
||||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGap(0, 610, Short.MAX_VALUE)
|
.addGap(0, 637, Short.MAX_VALUE)
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||||
);
|
);
|
||||||
@ -551,34 +593,6 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
pack();
|
pack();
|
||||||
}// </editor-fold>//GEN-END:initComponents
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
private void browseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_browseButtonActionPerformed
|
|
||||||
File dflt = new File(sketchbookLocationField.getText());
|
|
||||||
File file = Base.selectFolder(tr("Select new sketchbook location"), dflt, this);
|
|
||||||
if (file != null) {
|
|
||||||
String path = file.getAbsolutePath();
|
|
||||||
sketchbookLocationField.setText(path);
|
|
||||||
}
|
|
||||||
}//GEN-LAST:event_browseButtonActionPerformed
|
|
||||||
|
|
||||||
private void extendedAdditionalUrlFieldWindowActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_extendedAdditionalUrlFieldWindowActionPerformed
|
|
||||||
final AdditionalBoardsManagerURLTextArea additionalBoardsManagerURLTextArea = new AdditionalBoardsManagerURLTextArea(this);
|
|
||||||
additionalBoardsManagerURLTextArea.setText(additionalBoardsManagerField.getText());
|
|
||||||
additionalBoardsManagerURLTextArea.onOk(e -> additionalBoardsManagerField.setText(additionalBoardsManagerURLTextArea.getText()));
|
|
||||||
additionalBoardsManagerURLTextArea.setVisible(true);
|
|
||||||
}//GEN-LAST:event_extendedAdditionalUrlFieldWindowActionPerformed
|
|
||||||
|
|
||||||
private void preferencesFileLabelMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_preferencesFileLabelMouseEntered
|
|
||||||
preferencesFileLabel.setForeground(new Color(0, 0, 140));
|
|
||||||
}//GEN-LAST:event_preferencesFileLabelMouseEntered
|
|
||||||
|
|
||||||
private void preferencesFileLabelMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_preferencesFileLabelMousePressed
|
|
||||||
Base.openFolder(PreferencesData.getPreferencesFile().getParentFile());
|
|
||||||
}//GEN-LAST:event_preferencesFileLabelMousePressed
|
|
||||||
|
|
||||||
private void preferencesFileLabelMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_preferencesFileLabelMouseExited
|
|
||||||
preferencesFileLabel.setForeground(new Color(76, 76, 76));
|
|
||||||
}//GEN-LAST:event_preferencesFileLabelMouseExited
|
|
||||||
|
|
||||||
private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed
|
private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed
|
||||||
dispatchEvent(new WindowEvent(this, WindowEvent.WINDOW_CLOSING));
|
dispatchEvent(new WindowEvent(this, WindowEvent.WINDOW_CLOSING));
|
||||||
}//GEN-LAST:event_cancelButtonActionPerformed
|
}//GEN-LAST:event_cancelButtonActionPerformed
|
||||||
@ -609,8 +623,42 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
autoProxyPACFieldsSetEnabled(autoProxyUsePAC.isSelected());
|
autoProxyPACFieldsSetEnabled(autoProxyUsePAC.isSelected());
|
||||||
}//GEN-LAST:event_autoProxyUsePACItemStateChanged
|
}//GEN-LAST:event_autoProxyUsePACItemStateChanged
|
||||||
|
|
||||||
|
private void preferencesFileLabelMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_preferencesFileLabelMouseEntered
|
||||||
|
preferencesFileLabel.setForeground(new Color(0, 0, 140));
|
||||||
|
}//GEN-LAST:event_preferencesFileLabelMouseEntered
|
||||||
|
|
||||||
|
private void preferencesFileLabelMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_preferencesFileLabelMouseExited
|
||||||
|
preferencesFileLabel.setForeground(new Color(76, 76, 76));
|
||||||
|
}//GEN-LAST:event_preferencesFileLabelMouseExited
|
||||||
|
|
||||||
|
private void preferencesFileLabelMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_preferencesFileLabelMousePressed
|
||||||
|
Base.openFolder(PreferencesData.getPreferencesFile().getParentFile());
|
||||||
|
}//GEN-LAST:event_preferencesFileLabelMousePressed
|
||||||
|
|
||||||
|
private void extendedAdditionalUrlFieldWindowActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_extendedAdditionalUrlFieldWindowActionPerformed
|
||||||
|
final AdditionalBoardsManagerURLTextArea additionalBoardsManagerURLTextArea = new AdditionalBoardsManagerURLTextArea(this);
|
||||||
|
additionalBoardsManagerURLTextArea.setText(additionalBoardsManagerField.getText());
|
||||||
|
additionalBoardsManagerURLTextArea.onOk(e -> additionalBoardsManagerField.setText(additionalBoardsManagerURLTextArea.getText()));
|
||||||
|
additionalBoardsManagerURLTextArea.setVisible(true);
|
||||||
|
}//GEN-LAST:event_extendedAdditionalUrlFieldWindowActionPerformed
|
||||||
|
|
||||||
|
private void browseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_browseButtonActionPerformed
|
||||||
|
File dflt = new File(sketchbookLocationField.getText());
|
||||||
|
File file = Base.selectFolder(tr("Select new sketchbook location"), dflt, this);
|
||||||
|
if (file != null) {
|
||||||
|
String path = file.getAbsolutePath();
|
||||||
|
sketchbookLocationField.setText(path);
|
||||||
|
}
|
||||||
|
}//GEN-LAST:event_browseButtonActionPerformed
|
||||||
|
|
||||||
|
private void autoScaleCheckBoxItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_autoScaleCheckBoxItemStateChanged
|
||||||
|
scaleSpinner.setEnabled(!autoScaleCheckBox.isSelected());
|
||||||
|
}//GEN-LAST:event_autoScaleCheckBoxItemStateChanged
|
||||||
|
|
||||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
private javax.swing.JTextField additionalBoardsManagerField;
|
private javax.swing.JTextField additionalBoardsManagerField;
|
||||||
|
private javax.swing.JLabel additionalBoardsManagerLabel;
|
||||||
|
private javax.swing.JLabel arduinoNotRunningLabel;
|
||||||
private javax.swing.JRadioButton autoProxy;
|
private javax.swing.JRadioButton autoProxy;
|
||||||
private javax.swing.JTextField autoProxyPACURL;
|
private javax.swing.JTextField autoProxyPACURL;
|
||||||
private javax.swing.JPasswordField autoProxyPassword;
|
private javax.swing.JPasswordField autoProxyPassword;
|
||||||
@ -618,13 +666,24 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
private javax.swing.JCheckBox autoProxyUsePAC;
|
private javax.swing.JCheckBox autoProxyUsePAC;
|
||||||
private javax.swing.JTextField autoProxyUsername;
|
private javax.swing.JTextField autoProxyUsername;
|
||||||
private javax.swing.JLabel autoProxyUsernameLabel;
|
private javax.swing.JLabel autoProxyUsernameLabel;
|
||||||
|
private javax.swing.JCheckBox autoScaleCheckBox;
|
||||||
|
private javax.swing.JButton browseButton;
|
||||||
private javax.swing.JCheckBox checkUpdatesBox;
|
private javax.swing.JCheckBox checkUpdatesBox;
|
||||||
|
private javax.swing.JPanel checkboxesContainer;
|
||||||
private javax.swing.JComboBox comboLanguage;
|
private javax.swing.JComboBox comboLanguage;
|
||||||
|
private javax.swing.JLabel comboLanguageLabel;
|
||||||
private javax.swing.JComboBox comboWarnings;
|
private javax.swing.JComboBox comboWarnings;
|
||||||
|
private javax.swing.JLabel comboWarningsLabel;
|
||||||
private javax.swing.JCheckBox displayLineNumbersBox;
|
private javax.swing.JCheckBox displayLineNumbersBox;
|
||||||
private javax.swing.JCheckBox enableCodeFoldingBox;
|
private javax.swing.JCheckBox enableCodeFoldingBox;
|
||||||
|
private javax.swing.JButton extendedAdditionalUrlFieldWindow;
|
||||||
private javax.swing.JCheckBox externalEditorBox;
|
private javax.swing.JCheckBox externalEditorBox;
|
||||||
private javax.swing.JTextField fontSizeField;
|
private javax.swing.JTextField fontSizeField;
|
||||||
|
private javax.swing.JLabel fontSizeLabel;
|
||||||
|
private javax.swing.JLabel jLabel1;
|
||||||
|
private javax.swing.JLabel jLabel2;
|
||||||
|
private javax.swing.JLabel jLabel3;
|
||||||
|
private javax.swing.JPanel jPanel1;
|
||||||
private javax.swing.JRadioButton manualProxy;
|
private javax.swing.JRadioButton manualProxy;
|
||||||
private javax.swing.JRadioButton manualProxyHTTP;
|
private javax.swing.JRadioButton manualProxyHTTP;
|
||||||
private javax.swing.JTextField manualProxyHostName;
|
private javax.swing.JTextField manualProxyHostName;
|
||||||
@ -637,11 +696,16 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
private javax.swing.ButtonGroup manualProxyTypeButtonGroup;
|
private javax.swing.ButtonGroup manualProxyTypeButtonGroup;
|
||||||
private javax.swing.JTextField manualProxyUsername;
|
private javax.swing.JTextField manualProxyUsername;
|
||||||
private javax.swing.JLabel manualProxyUsernameLabel;
|
private javax.swing.JLabel manualProxyUsernameLabel;
|
||||||
|
private javax.swing.JLabel morePreferencesLabel;
|
||||||
private javax.swing.JRadioButton noProxy;
|
private javax.swing.JRadioButton noProxy;
|
||||||
private javax.swing.JLabel preferencesFileLabel;
|
private javax.swing.JLabel preferencesFileLabel;
|
||||||
private javax.swing.ButtonGroup proxyTypeButtonGroup;
|
private javax.swing.ButtonGroup proxyTypeButtonGroup;
|
||||||
|
private javax.swing.JLabel requiresRestartLabel;
|
||||||
private javax.swing.JCheckBox saveVerifyUploadBox;
|
private javax.swing.JCheckBox saveVerifyUploadBox;
|
||||||
|
private javax.swing.JSpinner scaleSpinner;
|
||||||
|
private javax.swing.JLabel showVerboseLabel;
|
||||||
private javax.swing.JTextField sketchbookLocationField;
|
private javax.swing.JTextField sketchbookLocationField;
|
||||||
|
private javax.swing.JLabel sketchbookLocationLabel;
|
||||||
private javax.swing.JCheckBox updateExtensionBox;
|
private javax.swing.JCheckBox updateExtensionBox;
|
||||||
private javax.swing.JCheckBox verboseCompilationBox;
|
private javax.swing.JCheckBox verboseCompilationBox;
|
||||||
private javax.swing.JCheckBox verboseUploadBox;
|
private javax.swing.JCheckBox verboseUploadBox;
|
||||||
@ -685,6 +749,12 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
System.err.println(I18n.format(tr("ignoring invalid font size {0}"), newSizeText));
|
System.err.println(I18n.format(tr("ignoring invalid font size {0}"), newSizeText));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (autoScaleCheckBox.isSelected()) {
|
||||||
|
PreferencesData.set("gui.scale", "auto");
|
||||||
|
} else {
|
||||||
|
PreferencesData.set("gui.scale", scaleSpinner.getValue().toString());
|
||||||
|
}
|
||||||
|
|
||||||
// put each of the settings into the table
|
// put each of the settings into the table
|
||||||
PreferencesData.setBoolean("build.verbose", verboseCompilationBox.isSelected());
|
PreferencesData.setBoolean("build.verbose", verboseCompilationBox.isSelected());
|
||||||
PreferencesData.setBoolean("upload.verbose", verboseUploadBox.isSelected());
|
PreferencesData.setBoolean("upload.verbose", verboseUploadBox.isSelected());
|
||||||
@ -734,6 +804,16 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
Font editorFont = PreferencesData.getFont("editor.font");
|
Font editorFont = PreferencesData.getFont("editor.font");
|
||||||
fontSizeField.setText(String.valueOf(editorFont.getSize()));
|
fontSizeField.setText(String.valueOf(editorFont.getSize()));
|
||||||
|
|
||||||
|
try {
|
||||||
|
int scale = PreferencesData.getInteger("gui.scale", -1);
|
||||||
|
if (scale != -1) {
|
||||||
|
autoScaleCheckBox.setSelected(false);
|
||||||
|
scaleSpinner.setValue(scale);
|
||||||
|
}
|
||||||
|
} catch (NumberFormatException ignore) {
|
||||||
|
// In any case defaults to "auto"
|
||||||
|
}
|
||||||
|
|
||||||
verboseCompilationBox.setSelected(PreferencesData.getBoolean("build.verbose"));
|
verboseCompilationBox.setSelected(PreferencesData.getBoolean("build.verbose"));
|
||||||
verboseUploadBox.setSelected(PreferencesData.getBoolean("upload.verbose"));
|
verboseUploadBox.setSelected(PreferencesData.getBoolean("upload.verbose"));
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ public abstract class AbstractTextMonitor extends AbstractMonitor {
|
|||||||
protected void onCreateWindow(Container mainPane) {
|
protected void onCreateWindow(Container mainPane) {
|
||||||
Font consoleFont = Theme.getFont("console.font");
|
Font consoleFont = Theme.getFont("console.font");
|
||||||
Font editorFont = PreferencesData.getFont("editor.font");
|
Font editorFont = PreferencesData.getFont("editor.font");
|
||||||
Font font = new Font(consoleFont.getName(), consoleFont.getStyle(), editorFont.getSize());
|
Font font = Theme.scale(new Font(consoleFont.getName(), consoleFont.getStyle(), editorFont.getSize()));
|
||||||
|
|
||||||
mainPane.setLayout(new BorderLayout());
|
mainPane.setLayout(new BorderLayout());
|
||||||
|
|
||||||
|
@ -36,6 +36,7 @@ import cc.arduino.packages.DiscoveryManager;
|
|||||||
import cc.arduino.view.Event;
|
import cc.arduino.view.Event;
|
||||||
import cc.arduino.view.JMenuUtils;
|
import cc.arduino.view.JMenuUtils;
|
||||||
import cc.arduino.view.SplashScreenHelper;
|
import cc.arduino.view.SplashScreenHelper;
|
||||||
|
|
||||||
import org.apache.commons.compress.utils.IOUtils;
|
import org.apache.commons.compress.utils.IOUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import processing.app.debug.TargetBoard;
|
import processing.app.debug.TargetBoard;
|
||||||
@ -157,8 +158,6 @@ public class Base {
|
|||||||
|
|
||||||
BaseNoGui.initParameters(args);
|
BaseNoGui.initParameters(args);
|
||||||
|
|
||||||
System.setProperty("swing.aatext", PreferencesData.get("editor.antialias", "true"));
|
|
||||||
|
|
||||||
BaseNoGui.initVersion();
|
BaseNoGui.initVersion();
|
||||||
|
|
||||||
// if (System.getProperty("mrj.version") != null) {
|
// if (System.getProperty("mrj.version") != null) {
|
||||||
@ -207,6 +206,7 @@ public class Base {
|
|||||||
|
|
||||||
// setup the theme coloring fun
|
// setup the theme coloring fun
|
||||||
Theme.init();
|
Theme.init();
|
||||||
|
System.setProperty("swing.aatext", PreferencesData.get("editor.antialias", "true"));
|
||||||
|
|
||||||
// Set the look and feel before opening the window
|
// Set the look and feel before opening the window
|
||||||
try {
|
try {
|
||||||
@ -1742,18 +1742,17 @@ public class Base {
|
|||||||
*/
|
*/
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
public void handleAbout() {
|
public void handleAbout() {
|
||||||
final Image image = getLibImage("about.png", activeEditor);
|
final Image image = Theme.getLibImage("about", activeEditor,
|
||||||
|
Theme.scale(475), Theme.scale(300));
|
||||||
final Window window = new Window(activeEditor) {
|
final Window window = new Window(activeEditor) {
|
||||||
public void paint(Graphics g) {
|
public void paint(Graphics graphics) {
|
||||||
|
Graphics2D g = Theme.setupGraphics2D(graphics);
|
||||||
g.drawImage(image, 0, 0, null);
|
g.drawImage(image, 0, 0, null);
|
||||||
|
|
||||||
Graphics2D g2 = (Graphics2D) g;
|
Font f = new Font("SansSerif", Font.PLAIN, Theme.scale(11));
|
||||||
g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
|
g.setFont(f);
|
||||||
RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);
|
|
||||||
|
|
||||||
g.setFont(new Font("SansSerif", Font.PLAIN, 11));
|
|
||||||
g.setColor(Color.white);
|
g.setColor(Color.white);
|
||||||
g.drawString(BaseNoGui.VERSION_NAME_LONG, 33, 20);
|
g.drawString(BaseNoGui.VERSION_NAME_LONG, Theme.scale(33), Theme.scale(20));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
window.addMouseListener(new MouseAdapter() {
|
window.addMouseListener(new MouseAdapter() {
|
||||||
@ -2035,32 +2034,6 @@ public class Base {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get an image associated with the current color theme.
|
|
||||||
*/
|
|
||||||
static public Image getThemeImage(String name, Component who) {
|
|
||||||
return getLibImage("theme/" + name, who);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return an Image object from inside the Processing lib folder.
|
|
||||||
*/
|
|
||||||
static public Image getLibImage(String name, Component who) {
|
|
||||||
Toolkit tk = Toolkit.getDefaultToolkit();
|
|
||||||
|
|
||||||
File imageLocation = new File(getContentFile("lib"), name);
|
|
||||||
Image image = tk.getImage(imageLocation.getAbsolutePath());
|
|
||||||
MediaTracker tracker = new MediaTracker(who);
|
|
||||||
tracker.addImage(image, 0);
|
|
||||||
try {
|
|
||||||
tracker.waitForAll();
|
|
||||||
} catch (InterruptedException e) {
|
|
||||||
}
|
|
||||||
return image;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ...................................................................
|
// ...................................................................
|
||||||
|
|
||||||
|
|
||||||
|
@ -54,6 +54,7 @@ import javax.swing.*;
|
|||||||
import javax.swing.border.MatteBorder;
|
import javax.swing.border.MatteBorder;
|
||||||
import javax.swing.event.*;
|
import javax.swing.event.*;
|
||||||
import javax.swing.text.BadLocationException;
|
import javax.swing.text.BadLocationException;
|
||||||
|
import javax.swing.text.Element;
|
||||||
import javax.swing.text.PlainDocument;
|
import javax.swing.text.PlainDocument;
|
||||||
import javax.swing.undo.CannotRedoException;
|
import javax.swing.undo.CannotRedoException;
|
||||||
import javax.swing.undo.CannotUndoException;
|
import javax.swing.undo.CannotUndoException;
|
||||||
@ -79,6 +80,7 @@ import java.util.zip.ZipEntry;
|
|||||||
import java.util.zip.ZipFile;
|
import java.util.zip.ZipFile;
|
||||||
|
|
||||||
import static processing.app.I18n.tr;
|
import static processing.app.I18n.tr;
|
||||||
|
import static processing.app.Theme.scale;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Main editor panel for the Processing Development Environment.
|
* Main editor panel for the Processing Development Environment.
|
||||||
@ -304,7 +306,6 @@ public class Editor extends JFrame implements RunnerListener {
|
|||||||
upper.add(scrollPane);
|
upper.add(scrollPane);
|
||||||
splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, upper, consolePanel);
|
splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, upper, consolePanel);
|
||||||
|
|
||||||
splitPane.setOneTouchExpandable(true);
|
|
||||||
// repaint child panes while resizing
|
// repaint child panes while resizing
|
||||||
splitPane.setContinuousLayout(true);
|
splitPane.setContinuousLayout(true);
|
||||||
// if window increases in size, give all of increase to
|
// if window increases in size, give all of increase to
|
||||||
@ -321,15 +322,11 @@ public class Editor extends JFrame implements RunnerListener {
|
|||||||
Keys.killBinding(splitPane, Keys.ctrl(KeyEvent.VK_TAB));
|
Keys.killBinding(splitPane, Keys.ctrl(KeyEvent.VK_TAB));
|
||||||
Keys.killBinding(splitPane, Keys.ctrlShift(KeyEvent.VK_TAB));
|
Keys.killBinding(splitPane, Keys.ctrlShift(KeyEvent.VK_TAB));
|
||||||
|
|
||||||
// the default size on windows is too small and kinda ugly
|
splitPane.setDividerSize(scale(splitPane.getDividerSize()));
|
||||||
int dividerSize = PreferencesData.getInteger("editor.divider.size");
|
|
||||||
if (dividerSize != 0) {
|
|
||||||
splitPane.setDividerSize(dividerSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
// the following changed from 600, 400 for netbooks
|
// the following changed from 600, 400 for netbooks
|
||||||
// http://code.google.com/p/arduino/issues/detail?id=52
|
// http://code.google.com/p/arduino/issues/detail?id=52
|
||||||
splitPane.setMinimumSize(new Dimension(600, 100));
|
splitPane.setMinimumSize(scale(new Dimension(600, 100)));
|
||||||
box.add(splitPane);
|
box.add(splitPane);
|
||||||
|
|
||||||
// hopefully these are no longer needed w/ swing
|
// hopefully these are no longer needed w/ swing
|
||||||
@ -342,35 +339,23 @@ public class Editor extends JFrame implements RunnerListener {
|
|||||||
|
|
||||||
pane.setTransferHandler(new FileDropHandler());
|
pane.setTransferHandler(new FileDropHandler());
|
||||||
|
|
||||||
// System.out.println("t1");
|
|
||||||
|
|
||||||
// Finish preparing Editor (formerly found in Base)
|
|
||||||
pack();
|
|
||||||
|
|
||||||
// System.out.println("t2");
|
|
||||||
|
|
||||||
// Set the window bounds and the divider location before setting it visible
|
|
||||||
setPlacement(storedLocation, defaultLocation);
|
|
||||||
|
|
||||||
|
|
||||||
// Set the minimum size for the editor window
|
// Set the minimum size for the editor window
|
||||||
setMinimumSize(new Dimension(PreferencesData.getInteger("editor.window.width.min"),
|
setMinimumSize(scale(new Dimension(
|
||||||
PreferencesData.getInteger("editor.window.height.min")));
|
PreferencesData.getInteger("editor.window.width.min"),
|
||||||
// System.out.println("t3");
|
PreferencesData.getInteger("editor.window.height.min"))));
|
||||||
|
|
||||||
// Bring back the general options for the editor
|
// Bring back the general options for the editor
|
||||||
applyPreferences();
|
applyPreferences();
|
||||||
|
|
||||||
// System.out.println("t4");
|
// Finish preparing Editor (formerly found in Base)
|
||||||
|
pack();
|
||||||
|
|
||||||
|
// Set the window bounds and the divider location before setting it visible
|
||||||
|
setPlacement(storedLocation, defaultLocation);
|
||||||
|
|
||||||
// Open the document that was passed in
|
// Open the document that was passed in
|
||||||
boolean loaded = handleOpenInternal(file);
|
boolean loaded = handleOpenInternal(file);
|
||||||
if (!loaded) sketch = null;
|
if (!loaded) sketch = null;
|
||||||
|
|
||||||
// System.out.println("t5");
|
|
||||||
|
|
||||||
// All set, now show the window
|
|
||||||
//setVisible(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -472,18 +457,6 @@ public class Editor extends JFrame implements RunnerListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Hack for #@#)$(* Mac OS X 10.2.
|
|
||||||
* <p/>
|
|
||||||
* This appears to only be required on OS X 10.2, and is not
|
|
||||||
* even being called on later versions of OS X or Windows.
|
|
||||||
*/
|
|
||||||
// public Dimension getMinimumSize() {
|
|
||||||
// //System.out.println("getting minimum size");
|
|
||||||
// return new Dimension(500, 550);
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
|
// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
|
||||||
|
|
||||||
|
|
||||||
@ -518,10 +491,9 @@ public class Editor extends JFrame implements RunnerListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// apply changes to the font size for the editor
|
// apply changes to the font size for the editor
|
||||||
//TextAreaPainter painter = textarea.getPainter();
|
Font editorFont = scale(PreferencesData.getFont("editor.font"));
|
||||||
textarea.setFont(PreferencesData.getFont("editor.font"));
|
textarea.setFont(editorFont);
|
||||||
//Font font = painter.getFont();
|
scrollPane.getGutter().setLineNumberFont(editorFont);
|
||||||
//textarea.getPainter().setFont(new Font("Courier", Font.PLAIN, 36));
|
|
||||||
|
|
||||||
// in case tab expansion stuff has changed
|
// in case tab expansion stuff has changed
|
||||||
// listener.applyPreferences();
|
// listener.applyPreferences();
|
||||||
@ -1041,28 +1013,20 @@ public class Editor extends JFrame implements RunnerListener {
|
|||||||
textArea.setAntiAliasingEnabled(PreferencesData.getBoolean("editor.antialias"));
|
textArea.setAntiAliasingEnabled(PreferencesData.getBoolean("editor.antialias"));
|
||||||
textArea.setTabsEmulated(PreferencesData.getBoolean("editor.tabs.expand"));
|
textArea.setTabsEmulated(PreferencesData.getBoolean("editor.tabs.expand"));
|
||||||
textArea.setTabSize(PreferencesData.getInteger("editor.tabs.size"));
|
textArea.setTabSize(PreferencesData.getInteger("editor.tabs.size"));
|
||||||
textArea.addHyperlinkListener(new HyperlinkListener() {
|
textArea.addHyperlinkListener(evt -> {
|
||||||
@Override
|
|
||||||
public void hyperlinkUpdate(HyperlinkEvent hyperlinkEvent) {
|
|
||||||
try {
|
try {
|
||||||
platform.openURL(sketch.getFolder(), hyperlinkEvent.getURL().toExternalForm());
|
platform.openURL(sketch.getFolder(), evt.getURL().toExternalForm());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Base.showWarning(e.getMessage(), e.getMessage(), e);
|
Base.showWarning(e.getMessage(), e.getMessage(), e);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
});
|
});
|
||||||
textArea.addCaretListener(new CaretListener() {
|
textArea.addCaretListener(e -> {
|
||||||
|
Element root = textArea.getDocument().getDefaultRootElement();
|
||||||
@Override
|
int lineStart = root.getElementIndex(e.getMark());
|
||||||
public void caretUpdate(CaretEvent e) {
|
int lineEnd = root.getElementIndex(e.getDot());
|
||||||
int lineStart = textArea.getDocument().getDefaultRootElement().getElementIndex(e.getMark());
|
|
||||||
int lineEnd = textArea.getDocument().getDefaultRootElement().getElementIndex(e.getDot());
|
|
||||||
|
|
||||||
lineStatus.set(lineStart, lineEnd);
|
lineStatus.set(lineStart, lineEnd);
|
||||||
}
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
ToolTipManager.sharedInstance().registerComponent(textArea);
|
ToolTipManager.sharedInstance().registerComponent(textArea);
|
||||||
|
|
||||||
configurePopupMenu(textArea);
|
configurePopupMenu(textArea);
|
||||||
|
@ -28,6 +28,8 @@ import javax.swing.text.*;
|
|||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.io.PrintStream;
|
import java.io.PrintStream;
|
||||||
|
|
||||||
|
import static processing.app.Theme.scale;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Message console that sits below the editing area.
|
* Message console that sits below the editing area.
|
||||||
*/
|
*/
|
||||||
@ -70,7 +72,7 @@ public class EditorConsole extends JScrollPane {
|
|||||||
|
|
||||||
Font consoleFont = Theme.getFont("console.font");
|
Font consoleFont = Theme.getFont("console.font");
|
||||||
Font editorFont = PreferencesData.getFont("editor.font");
|
Font editorFont = PreferencesData.getFont("editor.font");
|
||||||
Font actualFont = new Font(consoleFont.getName(), consoleFont.getStyle(), editorFont.getSize());
|
Font actualFont = new Font(consoleFont.getName(), consoleFont.getStyle(), scale(editorFont.getSize()));
|
||||||
|
|
||||||
SimpleAttributeSet stdOutStyle = new SimpleAttributeSet();
|
SimpleAttributeSet stdOutStyle = new SimpleAttributeSet();
|
||||||
StyleConstants.setForeground(stdOutStyle, Theme.getColor("console.output.color"));
|
StyleConstants.setForeground(stdOutStyle, Theme.getColor("console.output.color"));
|
||||||
@ -102,8 +104,8 @@ public class EditorConsole extends JScrollPane {
|
|||||||
int height = metrics.getAscent() + metrics.getDescent();
|
int height = metrics.getAscent() + metrics.getDescent();
|
||||||
int lines = PreferencesData.getInteger("console.lines");
|
int lines = PreferencesData.getInteger("console.lines");
|
||||||
int sizeFudge = 6; //10; // unclear why this is necessary, but it is
|
int sizeFudge = 6; //10; // unclear why this is necessary, but it is
|
||||||
setPreferredSize(new Dimension(1024, (height * lines) + sizeFudge));
|
setPreferredSize(new Dimension(100, (height * lines) + sizeFudge));
|
||||||
setMinimumSize(new Dimension(1024, (height * 5) + sizeFudge));
|
setMinimumSize(new Dimension(100, (height * 5) + sizeFudge));
|
||||||
|
|
||||||
EditorConsole.init(stdOutStyle, System.out, stdErrStyle, System.err);
|
EditorConsole.init(stdOutStyle, System.out, stdErrStyle, System.err);
|
||||||
}
|
}
|
||||||
|
@ -35,6 +35,7 @@ import java.io.IOException;
|
|||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
|
import static processing.app.Theme.scale;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sketch tabs at the top of the editor window.
|
* Sketch tabs at the top of the editor window.
|
||||||
@ -65,15 +66,20 @@ public class EditorHeader extends JComponent {
|
|||||||
static final int UNSELECTED = 0;
|
static final int UNSELECTED = 0;
|
||||||
static final int SELECTED = 1;
|
static final int SELECTED = 1;
|
||||||
|
|
||||||
static final String WHERE[] = { "left", "mid", "right", "menu" };
|
static final String WHERE[] = { "left", "mid", "right" };
|
||||||
static final int LEFT = 0;
|
static final int LEFT = 0;
|
||||||
static final int MIDDLE = 1;
|
static final int MIDDLE = 1;
|
||||||
static final int RIGHT = 2;
|
static final int RIGHT = 2;
|
||||||
static final int MENU = 3;
|
|
||||||
|
|
||||||
static final int PIECE_WIDTH = 4;
|
static final int PIECE_WIDTH = scale(4);
|
||||||
|
static final int PIECE_HEIGHT = scale(33);
|
||||||
|
|
||||||
|
// value for the size bars, buttons, etc
|
||||||
|
// TODO: Should be a Theme value?
|
||||||
|
static final int GRID_SIZE = 33;
|
||||||
|
|
||||||
static Image[][] pieces;
|
static Image[][] pieces;
|
||||||
|
static Image menuButtons[];
|
||||||
|
|
||||||
Image offscreen;
|
Image offscreen;
|
||||||
int sizeW, sizeH;
|
int sizeW, sizeH;
|
||||||
@ -144,11 +150,16 @@ public class EditorHeader extends JComponent {
|
|||||||
|
|
||||||
if (pieces == null) {
|
if (pieces == null) {
|
||||||
pieces = new Image[STATUS.length][WHERE.length];
|
pieces = new Image[STATUS.length][WHERE.length];
|
||||||
|
menuButtons = new Image[STATUS.length];
|
||||||
for (int i = 0; i < STATUS.length; i++) {
|
for (int i = 0; i < STATUS.length; i++) {
|
||||||
for (int j = 0; j < WHERE.length; j++) {
|
for (int j = 0; j < WHERE.length; j++) {
|
||||||
String path = "tab-" + STATUS[i] + "-" + WHERE[j] + ".gif";
|
String path = "tab-" + STATUS[i] + "-" + WHERE[j];
|
||||||
pieces[i][j] = Base.getThemeImage(path, this);
|
pieces[i][j] = Theme.getThemeImage(path, this, PIECE_WIDTH,
|
||||||
|
PIECE_HEIGHT);
|
||||||
}
|
}
|
||||||
|
String path = "tab-" + STATUS[i] + "-menu";
|
||||||
|
menuButtons[i] = Theme.getThemeImage(path, this, PIECE_HEIGHT,
|
||||||
|
PIECE_HEIGHT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -212,18 +223,13 @@ public class EditorHeader extends JComponent {
|
|||||||
offscreen = createImage(imageW, imageH);
|
offscreen = createImage(imageW, imageH);
|
||||||
}
|
}
|
||||||
|
|
||||||
Graphics g = offscreen.getGraphics();
|
Graphics2D g = Theme.setupGraphics2D(offscreen.getGraphics());
|
||||||
if (font == null) {
|
if (font == null) {
|
||||||
font = Theme.getFont("header.text.font");
|
font = Theme.getFont("header.text.font");
|
||||||
}
|
}
|
||||||
g.setFont(font); // need to set this each time through
|
g.setFont(font); // need to set this each time through
|
||||||
metrics = g.getFontMetrics();
|
metrics = g.getFontMetrics();
|
||||||
fontAscent = metrics.getAscent();
|
fontAscent = metrics.getAscent();
|
||||||
//}
|
|
||||||
|
|
||||||
//Graphics2D g2 = (Graphics2D) g;
|
|
||||||
//g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
|
|
||||||
// RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
|
|
||||||
|
|
||||||
// set the background for the offscreen
|
// set the background for the offscreen
|
||||||
g.setColor(backgroundColor);
|
g.setColor(backgroundColor);
|
||||||
@ -235,7 +241,7 @@ public class EditorHeader extends JComponent {
|
|||||||
tabRight = new int[codeCount];
|
tabRight = new int[codeCount];
|
||||||
}
|
}
|
||||||
|
|
||||||
int x = 6; // offset from left edge of the component
|
int x = scale(6); // offset from left edge of the component
|
||||||
for (int i = 0; i < sketch.getCodeCount(); i++) {
|
for (int i = 0; i < sketch.getCodeCount(); i++) {
|
||||||
SketchCode code = sketch.getCode(i);
|
SketchCode code = sketch.getCode(i);
|
||||||
|
|
||||||
@ -245,9 +251,8 @@ public class EditorHeader extends JComponent {
|
|||||||
// if modified, add the li'l glyph next to the name
|
// if modified, add the li'l glyph next to the name
|
||||||
String text = " " + codeName + (code.isModified() ? " \u00A7" : " ");
|
String text = " " + codeName + (code.isModified() ? " \u00A7" : " ");
|
||||||
|
|
||||||
Graphics2D g2 = (Graphics2D) g;
|
|
||||||
int textWidth = (int)
|
int textWidth = (int)
|
||||||
font.getStringBounds(text, g2.getFontRenderContext()).getWidth();
|
font.getStringBounds(text, g.getFontRenderContext()).getWidth();
|
||||||
|
|
||||||
int pieceCount = 2 + (textWidth / PIECE_WIDTH);
|
int pieceCount = 2 + (textWidth / PIECE_WIDTH);
|
||||||
int pieceWidth = pieceCount * PIECE_WIDTH;
|
int pieceWidth = pieceCount * PIECE_WIDTH;
|
||||||
@ -274,10 +279,10 @@ public class EditorHeader extends JComponent {
|
|||||||
x += PIECE_WIDTH - 1; // overlap by 1 pixel
|
x += PIECE_WIDTH - 1; // overlap by 1 pixel
|
||||||
}
|
}
|
||||||
|
|
||||||
menuLeft = sizeW - (16 + pieces[0][MENU].getWidth(this));
|
menuLeft = sizeW - (16 + menuButtons[0].getWidth(this));
|
||||||
menuRight = sizeW - 16;
|
menuRight = sizeW - 16;
|
||||||
// draw the dropdown menu target
|
// draw the dropdown menu target
|
||||||
g.drawImage(pieces[popup.isVisible() ? SELECTED : UNSELECTED][MENU],
|
g.drawImage(menuButtons[popup.isVisible() ? SELECTED : UNSELECTED],
|
||||||
menuLeft, 0, null);
|
menuLeft, 0, null);
|
||||||
|
|
||||||
screen.drawImage(offscreen, 0, 0, null);
|
screen.drawImage(offscreen, 0, 0, null);
|
||||||
@ -337,17 +342,17 @@ public class EditorHeader extends JComponent {
|
|||||||
|
|
||||||
|
|
||||||
public Dimension getMinimumSize() {
|
public Dimension getMinimumSize() {
|
||||||
if (OSUtils.isMacOS()) {
|
Dimension size = scale(new Dimension(300, GRID_SIZE));
|
||||||
return new Dimension(300, Preferences.GRID_SIZE);
|
if (OSUtils.isMacOS())
|
||||||
}
|
size.height--;
|
||||||
return new Dimension(300, Preferences.GRID_SIZE - 1);
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public Dimension getMaximumSize() {
|
public Dimension getMaximumSize() {
|
||||||
if (OSUtils.isMacOS()) {
|
Dimension size = scale(new Dimension(3000, GRID_SIZE));
|
||||||
return new Dimension(3000, Preferences.GRID_SIZE);
|
if (OSUtils.isMacOS())
|
||||||
}
|
size.height--;
|
||||||
return new Dimension(3000, Preferences.GRID_SIZE - 1);
|
return size;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30,35 +30,37 @@ import processing.app.helpers.OSUtils;
|
|||||||
import processing.app.helpers.PreferencesMap;
|
import processing.app.helpers.PreferencesMap;
|
||||||
import static processing.app.I18n.tr;
|
import static processing.app.I18n.tr;
|
||||||
|
|
||||||
|
import static processing.app.Theme.scale;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Li'l status bar fella that shows the line number.
|
* Li'l status bar fella that shows the line number.
|
||||||
*/
|
*/
|
||||||
public class EditorLineStatus extends JComponent {
|
public class EditorLineStatus extends JComponent {
|
||||||
|
|
||||||
int start = -1, stop;
|
int start = -1, stop;
|
||||||
|
|
||||||
Image resize;
|
Image resize;
|
||||||
|
private static final int RESIZE_IMAGE_SIZE = scale(20);
|
||||||
|
|
||||||
Color foreground;
|
Color foreground;
|
||||||
Color background;
|
Color background;
|
||||||
Color messageForeground;
|
Color messageForeground;
|
||||||
|
|
||||||
Font font;
|
Font font;
|
||||||
int high;
|
int height;
|
||||||
|
|
||||||
String text = "";
|
String text = "";
|
||||||
String name = "";
|
String name = "";
|
||||||
String serialport = "";
|
String serialport = "";
|
||||||
|
|
||||||
|
|
||||||
public EditorLineStatus() {
|
public EditorLineStatus() {
|
||||||
background = Theme.getColor("linestatus.bgcolor");
|
background = Theme.getColor("linestatus.bgcolor");
|
||||||
font = Theme.getFont("linestatus.font");
|
font = Theme.getFont("linestatus.font");
|
||||||
foreground = Theme.getColor("linestatus.color");
|
foreground = Theme.getColor("linestatus.color");
|
||||||
high = Theme.getInteger("linestatus.height");
|
height = Theme.getInteger("linestatus.height");
|
||||||
|
|
||||||
if (OSUtils.isMacOS()) {
|
if (OSUtils.isMacOS()) {
|
||||||
resize = Base.getThemeImage("resize.gif", this);
|
resize = Theme.getThemeImage("resize", this, RESIZE_IMAGE_SIZE, RESIZE_IMAGE_SIZE);
|
||||||
}
|
}
|
||||||
//linestatus.bgcolor = #000000
|
//linestatus.bgcolor = #000000
|
||||||
//linestatus.font = SansSerif,plain,10
|
//linestatus.font = SansSerif,plain,10
|
||||||
@ -87,7 +89,8 @@ public class EditorLineStatus extends JComponent {
|
|||||||
repaint();
|
repaint();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void paintComponent(Graphics g) {
|
public void paintComponent(Graphics graphics) {
|
||||||
|
Graphics2D g = Theme.setupGraphics2D(graphics);
|
||||||
if (name == "" && serialport == "") {
|
if (name == "" && serialport == "") {
|
||||||
PreferencesMap boardPreferences = BaseNoGui.getBoardPreferences();
|
PreferencesMap boardPreferences = BaseNoGui.getBoardPreferences();
|
||||||
if (boardPreferences != null)
|
if (boardPreferences != null)
|
||||||
@ -102,18 +105,19 @@ public class EditorLineStatus extends JComponent {
|
|||||||
|
|
||||||
g.setFont(font);
|
g.setFont(font);
|
||||||
g.setColor(foreground);
|
g.setColor(foreground);
|
||||||
int baseline = (high + g.getFontMetrics().getAscent()) / 2;
|
int baseline = (size.height + g.getFontMetrics().getAscent()) / 2;
|
||||||
g.drawString(text, 6, baseline);
|
g.drawString(text, scale(6), baseline);
|
||||||
|
|
||||||
g.setColor(messageForeground);
|
g.setColor(messageForeground);
|
||||||
String tmp = I18n.format(tr("{0} on {1}"), name, serialport);
|
String tmp = I18n.format(tr("{0} on {1}"), name, serialport);
|
||||||
|
|
||||||
Rectangle2D bounds = g.getFontMetrics().getStringBounds(tmp, null);
|
Rectangle2D bounds = g.getFontMetrics().getStringBounds(tmp, null);
|
||||||
|
|
||||||
g.drawString(tmp, size.width - (int) bounds.getWidth() -20 , baseline);
|
g.drawString(tmp, size.width - (int) bounds.getWidth() - RESIZE_IMAGE_SIZE,
|
||||||
|
baseline);
|
||||||
|
|
||||||
if (OSUtils.isMacOS()) {
|
if (OSUtils.isMacOS()) {
|
||||||
g.drawImage(resize, size.width - 20, 0, this);
|
g.drawImage(resize, size.width - RESIZE_IMAGE_SIZE, 0, this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -126,7 +130,7 @@ public class EditorLineStatus extends JComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Dimension getPreferredSize() {
|
public Dimension getPreferredSize() {
|
||||||
return new Dimension(300, high);
|
return scale(new Dimension(300, height));
|
||||||
}
|
}
|
||||||
|
|
||||||
public Dimension getMinimumSize() {
|
public Dimension getMinimumSize() {
|
||||||
@ -134,6 +138,6 @@ public class EditorLineStatus extends JComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Dimension getMaximumSize() {
|
public Dimension getMaximumSize() {
|
||||||
return new Dimension(3000, high);
|
return scale(new Dimension(3000, height));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,7 @@ import java.awt.event.KeyAdapter;
|
|||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
|
|
||||||
import static processing.app.I18n.tr;
|
import static processing.app.I18n.tr;
|
||||||
|
import static processing.app.Theme.scale;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Panel just below the editing area that contains status messages.
|
* Panel just below the editing area that contains status messages.
|
||||||
@ -67,6 +67,10 @@ public class EditorStatus extends JPanel {
|
|||||||
FGCOLOR[5] = Theme.getColor("status.notice.fgcolor");
|
FGCOLOR[5] = Theme.getColor("status.notice.fgcolor");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// value for the size bars, buttons, etc
|
||||||
|
// TODO: Should be a Theme value?
|
||||||
|
static final int GRID_SIZE = 33;
|
||||||
|
|
||||||
private final Editor editor;
|
private final Editor editor;
|
||||||
private final Font font;
|
private final Font font;
|
||||||
|
|
||||||
@ -215,15 +219,15 @@ public class EditorStatus extends JPanel {
|
|||||||
offscreen = createImage(imageW, imageH);
|
offscreen = createImage(imageW, imageH);
|
||||||
}
|
}
|
||||||
|
|
||||||
Graphics graphics = offscreen.getGraphics();
|
Graphics2D g = Theme.setupGraphics2D(offscreen.getGraphics());
|
||||||
graphics.setColor(BGCOLOR[mode]);
|
g.setColor(BGCOLOR[mode]);
|
||||||
graphics.fillRect(0, 0, imageW, imageH);
|
g.fillRect(0, 0, imageW, imageH);
|
||||||
graphics.setColor(FGCOLOR[mode]);
|
g.setColor(FGCOLOR[mode]);
|
||||||
|
|
||||||
graphics.setFont(font); // needs to be set each time on osx
|
g.setFont(font); // needs to be set each time on osx
|
||||||
int ascent = graphics.getFontMetrics().getAscent();
|
int ascent = g.getFontMetrics().getAscent();
|
||||||
assert message != null;
|
assert message != null;
|
||||||
graphics.drawString(message, Preferences.GUI_SMALL, (sizeH + ascent) / 2);
|
g.drawString(message, Preferences.GUI_SMALL, (sizeH + ascent) / 2);
|
||||||
|
|
||||||
screen.drawImage(offscreen, 0, 0, null);
|
screen.drawImage(offscreen, 0, 0, null);
|
||||||
}
|
}
|
||||||
@ -395,11 +399,11 @@ public class EditorStatus extends JPanel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Dimension getMinimumSize() {
|
public Dimension getMinimumSize() {
|
||||||
return new Dimension(300, Preferences.GRID_SIZE);
|
return scale(new Dimension(300, GRID_SIZE));
|
||||||
}
|
}
|
||||||
|
|
||||||
public Dimension getMaximumSize() {
|
public Dimension getMaximumSize() {
|
||||||
return new Dimension(3000, Preferences.GRID_SIZE);
|
return scale(new Dimension(3000, GRID_SIZE));
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isErr() {
|
public boolean isErr() {
|
||||||
|
@ -31,7 +31,7 @@ import java.awt.event.KeyListener;
|
|||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
|
|
||||||
import static processing.app.I18n.tr;
|
import static processing.app.I18n.tr;
|
||||||
|
import static processing.app.Theme.scale;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* run/stop/etc buttons for the ide
|
* run/stop/etc buttons for the ide
|
||||||
@ -56,19 +56,19 @@ public class EditorToolbar extends JComponent implements MouseInputListener, Key
|
|||||||
/**
|
/**
|
||||||
* Width of each toolbar button.
|
* Width of each toolbar button.
|
||||||
*/
|
*/
|
||||||
private static final int BUTTON_WIDTH = 27;
|
private static final int BUTTON_WIDTH = scale(27);
|
||||||
/**
|
/**
|
||||||
* Height of each toolbar button.
|
* Height of each toolbar button.
|
||||||
*/
|
*/
|
||||||
private static final int BUTTON_HEIGHT = 32;
|
private static final int BUTTON_HEIGHT = scale(32);
|
||||||
/**
|
/**
|
||||||
* The amount of space between groups of buttons on the toolbar.
|
* The amount of space between groups of buttons on the toolbar.
|
||||||
*/
|
*/
|
||||||
private static final int BUTTON_GAP = 5;
|
private static final int BUTTON_GAP = scale(5);
|
||||||
/**
|
/**
|
||||||
* Size of the button image being chopped up.
|
* Size of the button image being chopped up.
|
||||||
*/
|
*/
|
||||||
private static final int BUTTON_IMAGE_SIZE = 33;
|
private static final int BUTTON_IMAGE_SIZE = scale(33);
|
||||||
|
|
||||||
|
|
||||||
private static final int RUN = 0;
|
private static final int RUN = 0;
|
||||||
@ -139,15 +139,19 @@ public class EditorToolbar extends JComponent implements MouseInputListener, Key
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void loadButtons() {
|
private void loadButtons() {
|
||||||
Image allButtons = Base.getThemeImage("buttons.gif", this);
|
Image allButtons = Theme.getThemeImage("buttons", this,
|
||||||
|
BUTTON_IMAGE_SIZE * BUTTON_COUNT,
|
||||||
|
BUTTON_IMAGE_SIZE * 3);
|
||||||
buttonImages = new Image[BUTTON_COUNT][3];
|
buttonImages = new Image[BUTTON_COUNT][3];
|
||||||
|
|
||||||
for (int i = 0; i < BUTTON_COUNT; i++) {
|
for (int i = 0; i < BUTTON_COUNT; i++) {
|
||||||
for (int state = 0; state < 3; state++) {
|
for (int state = 0; state < 3; state++) {
|
||||||
Image image = createImage(BUTTON_WIDTH, BUTTON_HEIGHT);
|
Image image = createImage(BUTTON_WIDTH, BUTTON_HEIGHT);
|
||||||
Graphics g = image.getGraphics();
|
Graphics g = image.getGraphics();
|
||||||
g.drawImage(allButtons,
|
g.setColor(bgcolor);
|
||||||
-(i * BUTTON_IMAGE_SIZE) - 3,
|
g.fillRect(0, 0, BUTTON_WIDTH, BUTTON_HEIGHT);
|
||||||
|
int offset = (BUTTON_IMAGE_SIZE - BUTTON_WIDTH) / 2;
|
||||||
|
g.drawImage(allButtons, -(i * BUTTON_IMAGE_SIZE) - offset,
|
||||||
(-2 + state) * BUTTON_IMAGE_SIZE, null);
|
(-2 + state) * BUTTON_IMAGE_SIZE, null);
|
||||||
buttonImages[i][state] = image;
|
buttonImages[i][state] = image;
|
||||||
}
|
}
|
||||||
@ -193,7 +197,7 @@ public class EditorToolbar extends JComponent implements MouseInputListener, Key
|
|||||||
x1[SERIAL] = width - BUTTON_WIDTH - 14;
|
x1[SERIAL] = width - BUTTON_WIDTH - 14;
|
||||||
x2[SERIAL] = width - 14;
|
x2[SERIAL] = width - 14;
|
||||||
}
|
}
|
||||||
Graphics g = offscreen.getGraphics();
|
Graphics2D g = Theme.setupGraphics2D(offscreen.getGraphics());
|
||||||
g.setColor(bgcolor); //getBackground());
|
g.setColor(bgcolor); //getBackground());
|
||||||
g.fillRect(0, 0, width, height);
|
g.fillRect(0, 0, width, height);
|
||||||
|
|
||||||
@ -437,7 +441,7 @@ public class EditorToolbar extends JComponent implements MouseInputListener, Key
|
|||||||
|
|
||||||
|
|
||||||
public Dimension getMaximumSize() {
|
public Dimension getMaximumSize() {
|
||||||
return new Dimension(3000, BUTTON_HEIGHT);
|
return new Dimension(scale(3000), BUTTON_HEIGHT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -69,11 +69,6 @@ public class Preferences {
|
|||||||
*/
|
*/
|
||||||
static public int BUTTON_HEIGHT = 24;
|
static public int BUTTON_HEIGHT = 24;
|
||||||
|
|
||||||
// value for the size bars, buttons, etc
|
|
||||||
|
|
||||||
static final int GRID_SIZE = 33;
|
|
||||||
|
|
||||||
|
|
||||||
// indents and spacing standards. these probably need to be modified
|
// indents and spacing standards. these probably need to be modified
|
||||||
// per platform as well, since macosx is so huge, windows is smaller,
|
// per platform as well, since macosx is so huge, windows is smaller,
|
||||||
// and linux is all over the map
|
// and linux is all over the map
|
||||||
|
@ -21,19 +21,39 @@
|
|||||||
|
|
||||||
package processing.app;
|
package processing.app;
|
||||||
|
|
||||||
import processing.app.helpers.OSUtils;
|
import static processing.app.I18n.tr;
|
||||||
import processing.app.helpers.PreferencesHelper;
|
|
||||||
import processing.app.helpers.PreferencesMap;
|
|
||||||
|
|
||||||
import javax.swing.text.StyleContext;
|
import java.awt.Color;
|
||||||
import java.awt.*;
|
import java.awt.Component;
|
||||||
|
import java.awt.Dimension;
|
||||||
|
import java.awt.Font;
|
||||||
|
import java.awt.Graphics;
|
||||||
|
import java.awt.Graphics2D;
|
||||||
|
import java.awt.Image;
|
||||||
|
import java.awt.MediaTracker;
|
||||||
|
import java.awt.Rectangle;
|
||||||
|
import java.awt.RenderingHints;
|
||||||
|
import java.awt.SystemColor;
|
||||||
|
import java.awt.Toolkit;
|
||||||
import java.awt.font.TextAttribute;
|
import java.awt.font.TextAttribute;
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.net.URL;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Hashtable;
|
import java.util.Hashtable;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import static processing.app.I18n.tr;
|
import javax.swing.text.StyleContext;
|
||||||
|
|
||||||
|
import org.apache.batik.transcoder.Transcoder;
|
||||||
|
import org.apache.batik.transcoder.TranscoderException;
|
||||||
|
import org.apache.batik.transcoder.TranscoderInput;
|
||||||
|
import org.apache.batik.transcoder.TranscoderOutput;
|
||||||
|
import org.apache.batik.transcoder.image.PNGTranscoder;
|
||||||
|
|
||||||
|
import processing.app.helpers.OSUtils;
|
||||||
|
import processing.app.helpers.PreferencesHelper;
|
||||||
|
import processing.app.helpers.PreferencesMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Storage class for theme settings. This was separated from the Preferences
|
* Storage class for theme settings. This was separated from the Preferences
|
||||||
@ -55,8 +75,9 @@ public class Theme {
|
|||||||
try {
|
try {
|
||||||
table.load(new File(BaseNoGui.getContentFile("lib"), "theme/theme.txt"));
|
table.load(new File(BaseNoGui.getContentFile("lib"), "theme/theme.txt"));
|
||||||
} catch (Exception te) {
|
} catch (Exception te) {
|
||||||
Base.showError(null, tr("Could not read color theme settings.\n" +
|
Base.showError(null, tr("Could not read color theme settings.\n"
|
||||||
"You'll need to reinstall Arduino."), te);
|
+ "You'll need to reinstall Arduino."),
|
||||||
|
te);
|
||||||
}
|
}
|
||||||
|
|
||||||
// other things that have to be set explicitly for the defaults
|
// other things that have to be set explicitly for the defaults
|
||||||
@ -94,6 +115,41 @@ public class Theme {
|
|||||||
set(key, String.valueOf(value));
|
set(key, String.valueOf(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static public int getScale() {
|
||||||
|
try {
|
||||||
|
int scale = PreferencesData.getInteger("gui.scale", -1);
|
||||||
|
if (scale != -1)
|
||||||
|
return scale;
|
||||||
|
} catch (NumberFormatException ignore) {
|
||||||
|
}
|
||||||
|
return 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
static public int scale(int size) {
|
||||||
|
return size * getScale() / 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
static public Dimension scale(Dimension dim) {
|
||||||
|
return new Dimension(scale(dim.width), scale(dim.height));
|
||||||
|
}
|
||||||
|
|
||||||
|
static public Font scale(Font font) {
|
||||||
|
float size = scale(font.getSize());
|
||||||
|
// size must be float to call the correct Font.deriveFont(float)
|
||||||
|
// method that is different from Font.deriveFont(int)!
|
||||||
|
Font scaled = font.deriveFont(size);
|
||||||
|
return scaled;
|
||||||
|
}
|
||||||
|
|
||||||
|
static public Rectangle scale(Rectangle rect) {
|
||||||
|
Rectangle res = new Rectangle(rect);
|
||||||
|
res.x = scale(res.x);
|
||||||
|
res.y = scale(res.y);
|
||||||
|
res.width = scale(res.width);
|
||||||
|
res.height = scale(res.height);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
static public Color getColorCycleColor(String name, int i) {
|
static public Color getColorCycleColor(String name, int i) {
|
||||||
int cycleSize = getInteger(name + ".size");
|
int cycleSize = getInteger(name + ".size");
|
||||||
name = String.format("%s.%02d", name, i % cycleSize);
|
name = String.format("%s.%02d", name, i % cycleSize);
|
||||||
@ -122,7 +178,7 @@ public class Theme {
|
|||||||
set(attr, value);
|
set(attr, value);
|
||||||
font = PreferencesHelper.getFont(table, attr);
|
font = PreferencesHelper.getFont(table, attr);
|
||||||
}
|
}
|
||||||
return font;
|
return font.deriveFont((float) scale(font.getSize()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -169,7 +225,8 @@ public class Theme {
|
|||||||
boolean italic = style.contains("italic");
|
boolean italic = style.contains("italic");
|
||||||
boolean underlined = style.contains("underlined");
|
boolean underlined = style.contains("underlined");
|
||||||
|
|
||||||
Font styledFont = new Font(font.getFamily(), (bold ? Font.BOLD : 0) | (italic ? Font.ITALIC : 0), font.getSize());
|
Font styledFont = new Font(font.getFamily(),
|
||||||
|
(bold ? Font.BOLD : 0) | (italic ? Font.ITALIC : 0), font.getSize());
|
||||||
if (underlined) {
|
if (underlined) {
|
||||||
Map<TextAttribute, Object> attr = new Hashtable<TextAttribute, Object>();
|
Map<TextAttribute, Object> attr = new Hashtable<TextAttribute, Object>();
|
||||||
attr.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
|
attr.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
|
||||||
@ -183,4 +240,89 @@ public class Theme {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return an Image object from inside the Processing lib folder.
|
||||||
|
*/
|
||||||
|
static public Image getLibImage(String filename, Component who, int width,
|
||||||
|
int height) {
|
||||||
|
File libFolder = BaseNoGui.getContentFile("lib");
|
||||||
|
Image image = null;
|
||||||
|
|
||||||
|
// Use vector image when available
|
||||||
|
File vectorFile = new File(libFolder, filename + ".svg");
|
||||||
|
if (vectorFile.exists()) {
|
||||||
|
try {
|
||||||
|
image = imageFromSVG(vectorFile.toURI().toURL(), width, height);
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.err.println("Failed to load " + vectorFile.getAbsolutePath()
|
||||||
|
+ ": " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Otherwise fall-back to PNG bitmaps
|
||||||
|
if (image == null) {
|
||||||
|
File bitmapFile = new File(libFolder, filename + ".png");
|
||||||
|
File bitmap2xFile = new File(libFolder, filename + "@2x.png");
|
||||||
|
|
||||||
|
File imageFile;
|
||||||
|
if ((getScale() > 125 && bitmap2xFile.exists()) || !bitmapFile.exists()) {
|
||||||
|
imageFile = bitmap2xFile;
|
||||||
|
} else {
|
||||||
|
imageFile = bitmapFile;
|
||||||
|
}
|
||||||
|
Toolkit tk = Toolkit.getDefaultToolkit();
|
||||||
|
image = tk.getImage(imageFile.getAbsolutePath());
|
||||||
|
}
|
||||||
|
|
||||||
|
MediaTracker tracker = new MediaTracker(who);
|
||||||
|
try {
|
||||||
|
tracker.addImage(image, 0);
|
||||||
|
tracker.waitForAll();
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
}
|
||||||
|
|
||||||
|
if (image.getWidth(null) != width || image.getHeight(null) != height) {
|
||||||
|
image = image.getScaledInstance(width, height, Image.SCALE_SMOOTH);
|
||||||
|
try {
|
||||||
|
tracker.addImage(image, 1);
|
||||||
|
tracker.waitForAll();
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return image;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get an image associated with the current color theme.
|
||||||
|
*/
|
||||||
|
static public Image getThemeImage(String name, Component who, int width,
|
||||||
|
int height) {
|
||||||
|
return getLibImage("theme/" + name, who, width, height);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Image imageFromSVG(URL url, int width, int height)
|
||||||
|
throws TranscoderException {
|
||||||
|
Transcoder t = new PNGTranscoder();
|
||||||
|
t.addTranscodingHint(PNGTranscoder.KEY_WIDTH, new Float(width));
|
||||||
|
t.addTranscodingHint(PNGTranscoder.KEY_HEIGHT, new Float(height));
|
||||||
|
|
||||||
|
TranscoderInput input = new TranscoderInput(url.toString());
|
||||||
|
ByteArrayOutputStream ostream = new ByteArrayOutputStream();
|
||||||
|
TranscoderOutput output = new TranscoderOutput(ostream);
|
||||||
|
t.transcode(input, output);
|
||||||
|
|
||||||
|
byte[] imgData = ostream.toByteArray();
|
||||||
|
return Toolkit.getDefaultToolkit().createImage(imgData);
|
||||||
|
}
|
||||||
|
|
||||||
|
static public Graphics2D setupGraphics2D(Graphics graphics) {
|
||||||
|
Graphics2D g = (Graphics2D) graphics;
|
||||||
|
if (PreferencesData.getBoolean("editor.antialias")) {
|
||||||
|
g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
|
||||||
|
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
|
||||||
|
}
|
||||||
|
return g;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1 +0,0 @@
|
|||||||
26377e7ef2fb521c2321a896c3cdece0188dd630
|
|
1
build/arduino-builder-linux32-1.3.11.tar.bz2.sha
Normal file
@ -0,0 +1 @@
|
|||||||
|
bd7e378b422312d2564cd94f770569607292a9e4
|
@ -1 +0,0 @@
|
|||||||
c12d4444718f18d52bf12b62d2158b426212d777
|
|
1
build/arduino-builder-linux64-1.3.11.tar.bz2.sha
Normal file
@ -0,0 +1 @@
|
|||||||
|
e48746e807410b4e71ac8bef6d822c7e7ddb0dc2
|
@ -1 +0,0 @@
|
|||||||
c164df8696423a72fdceef75e70d73f0b9aaa8ec
|
|
1
build/arduino-builder-macosx-1.3.11.tar.bz2.sha
Normal file
@ -0,0 +1 @@
|
|||||||
|
4f0db525df3e391c818cad56221d428cfc626682
|
@ -1 +0,0 @@
|
|||||||
c52b8da5ee46c5f50d8d53781faed9834173c824
|
|
1
build/arduino-builder-windows-1.3.11.zip.sha
Normal file
@ -0,0 +1 @@
|
|||||||
|
5b2e4b95adbf4262ee20b1ec9c263c285dd1829c
|
@ -73,7 +73,7 @@
|
|||||||
|
|
||||||
<property name="portable" value="false" />
|
<property name="portable" value="false" />
|
||||||
|
|
||||||
<property name="ARDUINO-BUILDER-VERSION" value="1.3.10" />
|
<property name="ARDUINO-BUILDER-VERSION" value="1.3.11" />
|
||||||
|
|
||||||
<!-- Libraries required for running arduino -->
|
<!-- Libraries required for running arduino -->
|
||||||
<fileset dir=".." id="runtime.jars">
|
<fileset dir=".." id="runtime.jars">
|
||||||
@ -885,7 +885,7 @@
|
|||||||
<copy file="${staging_folder}/arduino-builder-windows/arduino-builder.exe" tofile="windows/work/arduino-builder.exe" />
|
<copy file="${staging_folder}/arduino-builder-windows/arduino-builder.exe" tofile="windows/work/arduino-builder.exe" />
|
||||||
<chmod perm="755" file="windows/work/arduino-builder.exe" />
|
<chmod perm="755" file="windows/work/arduino-builder.exe" />
|
||||||
<move file="${staging_folder}/arduino-builder-windows/tools" tofile="windows/work/tools-builder"/>
|
<move file="${staging_folder}/arduino-builder-windows/tools" tofile="windows/work/tools-builder"/>
|
||||||
<chmod perm="755" file="windows/work/tools-builder/ctags/5.8-arduino6/ctags.exe" />
|
<chmod perm="755" file="windows/work/tools-builder/ctags/5.8-arduino7/ctags.exe" />
|
||||||
<copy todir="windows/work/hardware" overwrite="true">
|
<copy todir="windows/work/hardware" overwrite="true">
|
||||||
<fileset dir="${staging_folder}/arduino-builder-windows/hardware" includes="*.txt"/>
|
<fileset dir="${staging_folder}/arduino-builder-windows/hardware" includes="*.txt"/>
|
||||||
</copy>
|
</copy>
|
||||||
|
BIN
build/shared/lib/about@2x.png
Normal file
After Width: | Height: | Size: 40 KiB |
@ -71,6 +71,11 @@ platform.auto_file_type_associations = true
|
|||||||
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
|
||||||
|
# GUI - Scaling, edit this to scale to higher dots-per-inch displays
|
||||||
|
# "auto" means autodetect.
|
||||||
|
gui.scale=auto
|
||||||
|
#gui.scale=200
|
||||||
|
|
||||||
# default size for the main window
|
# default size for the main window
|
||||||
editor.window.width.default = 500
|
editor.window.width.default = 500
|
||||||
editor.window.height.default = 600
|
editor.window.height.default = 600
|
||||||
|
Before Width: | Height: | Size: 3.3 KiB |
BIN
build/shared/lib/theme/buttons.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
869
build/shared/lib/theme/buttons.svg
Normal file
@ -0,0 +1,869 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.1"
|
||||||
|
id="Layer_1"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
width="198px"
|
||||||
|
height="99px"
|
||||||
|
viewBox="0 0 198 99"
|
||||||
|
enable-background="new 0 0 198 99"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="buttons.svg"><metadata
|
||||||
|
id="metadata327"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs325" /><sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1215"
|
||||||
|
inkscape:window-height="1000"
|
||||||
|
id="namedview323"
|
||||||
|
showgrid="false"
|
||||||
|
showguides="true"
|
||||||
|
inkscape:guide-bbox="true"
|
||||||
|
inkscape:zoom="4"
|
||||||
|
inkscape:cx="45.252385"
|
||||||
|
inkscape:cy="36.224987"
|
||||||
|
inkscape:window-x="65"
|
||||||
|
inkscape:window-y="24"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="Layer_1" /><g
|
||||||
|
id="g5"
|
||||||
|
transform="translate(-0.12000084,0)"><circle
|
||||||
|
cx="16.620001"
|
||||||
|
cy="16.608999"
|
||||||
|
r="12"
|
||||||
|
id="circle7"
|
||||||
|
style="fill:#ffcc00" /><polyline
|
||||||
|
stroke-miterlimit="10"
|
||||||
|
points="21.453,12.745 15.788,20.571 11.775,16.658 "
|
||||||
|
id="polyline9"
|
||||||
|
style="fill:none;stroke:#655100;stroke-width:2.30489993;stroke-miterlimit:10" /></g><g
|
||||||
|
id="g11"
|
||||||
|
transform="translate(-0.12000084,0)"><circle
|
||||||
|
cx="16.620001"
|
||||||
|
cy="49.465"
|
||||||
|
r="12"
|
||||||
|
id="circle13"
|
||||||
|
style="fill:#ffffff" /><polyline
|
||||||
|
stroke-miterlimit="10"
|
||||||
|
points="21.453,45.601 15.788,53.427 11.775,49.514 "
|
||||||
|
id="polyline15"
|
||||||
|
style="fill:none;stroke:#006468;stroke-width:2.30489993;stroke-miterlimit:10" /></g><g
|
||||||
|
id="g17"
|
||||||
|
transform="translate(-0.12000084,0)"><circle
|
||||||
|
cx="16.620001"
|
||||||
|
cy="82.476997"
|
||||||
|
r="12"
|
||||||
|
id="circle19"
|
||||||
|
style="fill:#4db7bb" /><polyline
|
||||||
|
stroke-miterlimit="10"
|
||||||
|
points="21.453,78.612 15.788,86.438 11.775,82.525 "
|
||||||
|
id="polyline21"
|
||||||
|
style="fill:none;stroke:#006468;stroke-width:2.30489993;stroke-miterlimit:10" /></g><g
|
||||||
|
id="g23"
|
||||||
|
transform="translate(-0.26100159,0)"><circle
|
||||||
|
cx="49.761002"
|
||||||
|
cy="16.608999"
|
||||||
|
r="12"
|
||||||
|
id="circle25"
|
||||||
|
style="fill:#ffcc00" /><polygon
|
||||||
|
points="45.412,15.313 49.307,15.313 49.307,11.53 54.701,16.875 49.331,22.245 49.331,18.563 45.412,18.539 "
|
||||||
|
id="polygon27"
|
||||||
|
style="fill:#655100" /></g><g
|
||||||
|
id="g29"
|
||||||
|
transform="translate(-0.26100159,0)"><circle
|
||||||
|
cx="49.761002"
|
||||||
|
cy="49.465"
|
||||||
|
r="12"
|
||||||
|
id="circle31"
|
||||||
|
style="fill:#ffffff" /><polygon
|
||||||
|
points="45.412,48.169 49.307,48.169 49.307,44.386 54.701,49.731 49.331,55.101 49.331,51.419 45.412,51.394 "
|
||||||
|
id="polygon33"
|
||||||
|
style="fill:#006468" /></g><g
|
||||||
|
id="g35"
|
||||||
|
transform="translate(-0.26100159,0)"><circle
|
||||||
|
cx="49.761002"
|
||||||
|
cy="82.476997"
|
||||||
|
r="12"
|
||||||
|
id="circle37"
|
||||||
|
style="fill:#4db7bb" /><polygon
|
||||||
|
points="45.412,81.18 49.307,81.18 49.307,77.397 54.701,82.743 49.331,88.113 49.331,84.43 45.412,84.406 "
|
||||||
|
id="polygon39"
|
||||||
|
style="fill:#006468" /></g><g
|
||||||
|
id="g41"
|
||||||
|
transform="translate(-0.54399872,0)"><rect
|
||||||
|
x="105.544"
|
||||||
|
y="6.1090002"
|
||||||
|
width="21"
|
||||||
|
height="21"
|
||||||
|
id="rect43"
|
||||||
|
style="fill:#ffcc00" /><polygon
|
||||||
|
points="114.44,19.083 114.44,15.116 110.586,15.116 116.032,9.621 121.502,15.091 117.751,15.091 117.726,19.083 "
|
||||||
|
id="polygon45"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="110.511"
|
||||||
|
y="22.193001"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect47"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="112.518"
|
||||||
|
y="22.193001"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect49"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="114.517"
|
||||||
|
y="22.193001"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect51"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="116.525"
|
||||||
|
y="22.193001"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect53"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="118.524"
|
||||||
|
y="22.193001"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect55"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="120.531"
|
||||||
|
y="22.193001"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect57"
|
||||||
|
style="fill:#655100" /></g><g
|
||||||
|
id="g59"
|
||||||
|
transform="translate(-0.68600464,0)"><rect
|
||||||
|
x="138.686"
|
||||||
|
y="6.1090002"
|
||||||
|
width="21"
|
||||||
|
height="21"
|
||||||
|
id="rect61"
|
||||||
|
style="fill:#ffcc00" /><polygon
|
||||||
|
points="150.79,9.621 150.79,13.588 154.644,13.588 149.198,19.083 143.728,13.612 147.479,13.613 147.504,9.621 "
|
||||||
|
id="polygon63"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="143.65199"
|
||||||
|
y="22.193001"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect65"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="145.66"
|
||||||
|
y="22.193001"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect67"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="147.659"
|
||||||
|
y="22.193001"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect69"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="149.666"
|
||||||
|
y="22.193001"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect71"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="151.666"
|
||||||
|
y="22.193001"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect73"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="153.673"
|
||||||
|
y="22.193001"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect75"
|
||||||
|
style="fill:#655100" /></g><g
|
||||||
|
id="g77"
|
||||||
|
transform="translate(-0.54399872,0)"><rect
|
||||||
|
x="105.544"
|
||||||
|
y="38.965"
|
||||||
|
width="21"
|
||||||
|
height="21"
|
||||||
|
id="rect79"
|
||||||
|
style="fill:#ffffff" /><polygon
|
||||||
|
points="114.44,51.939 114.44,47.971 110.586,47.971 116.032,42.476 121.502,47.947 117.751,47.947 117.726,51.939 "
|
||||||
|
id="polygon81"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="110.511"
|
||||||
|
y="55.049"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect83"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="112.518"
|
||||||
|
y="55.049"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect85"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="114.517"
|
||||||
|
y="55.049"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect87"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="116.525"
|
||||||
|
y="55.049"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect89"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="118.524"
|
||||||
|
y="55.049"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect91"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="120.531"
|
||||||
|
y="55.049"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect93"
|
||||||
|
style="fill:#006468" /></g><g
|
||||||
|
id="g95"
|
||||||
|
transform="translate(-0.68600464,0)"><rect
|
||||||
|
x="138.686"
|
||||||
|
y="38.965"
|
||||||
|
width="21"
|
||||||
|
height="21"
|
||||||
|
id="rect97"
|
||||||
|
style="fill:#ffffff" /><polygon
|
||||||
|
points="150.79,42.476 150.79,46.444 154.644,46.444 149.198,51.939 143.728,46.468 147.479,46.468 147.504,42.477 "
|
||||||
|
id="polygon99"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="143.65199"
|
||||||
|
y="55.049"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect101"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="145.66"
|
||||||
|
y="55.049"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect103"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="147.659"
|
||||||
|
y="55.049"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect105"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="149.666"
|
||||||
|
y="55.049"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect107"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="151.666"
|
||||||
|
y="55.049"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect109"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="153.673"
|
||||||
|
y="55.049"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect111"
|
||||||
|
style="fill:#006468" /></g><g
|
||||||
|
id="g113"
|
||||||
|
transform="translate(-0.54399872,0)"><rect
|
||||||
|
x="105.544"
|
||||||
|
y="71.976997"
|
||||||
|
width="21"
|
||||||
|
height="21"
|
||||||
|
id="rect115"
|
||||||
|
style="fill:#4db7bb" /><polygon
|
||||||
|
points="114.44,84.95 114.44,80.983 110.586,80.983 116.032,75.488 121.502,80.959 117.751,80.958 117.726,84.95 "
|
||||||
|
id="polygon117"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="110.511"
|
||||||
|
y="88.060997"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect119"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="112.518"
|
||||||
|
y="88.060997"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect121"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="114.517"
|
||||||
|
y="88.060997"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect123"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="116.525"
|
||||||
|
y="88.060997"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect125"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="118.524"
|
||||||
|
y="88.060997"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect127"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="120.531"
|
||||||
|
y="88.060997"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect129"
|
||||||
|
style="fill:#006468" /></g><g
|
||||||
|
id="g131"
|
||||||
|
transform="translate(-0.68600464,0)"><rect
|
||||||
|
x="138.686"
|
||||||
|
y="71.976997"
|
||||||
|
width="21"
|
||||||
|
height="21"
|
||||||
|
id="rect133"
|
||||||
|
style="fill:#4db7bb" /><polygon
|
||||||
|
points="150.79,75.488 150.79,79.455 154.644,79.455 149.198,84.95 143.728,79.48 147.479,79.48 147.504,75.488 "
|
||||||
|
id="polygon135"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="143.65199"
|
||||||
|
y="88.060997"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect137"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="145.66"
|
||||||
|
y="88.060997"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect139"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="147.659"
|
||||||
|
y="88.060997"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect141"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="149.666"
|
||||||
|
y="88.060997"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect143"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="151.666"
|
||||||
|
y="88.060997"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect145"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="153.673"
|
||||||
|
y="88.060997"
|
||||||
|
width="1"
|
||||||
|
height="1"
|
||||||
|
id="rect147"
|
||||||
|
style="fill:#006468" /></g><g
|
||||||
|
id="g149"
|
||||||
|
transform="translate(-0.40299988,0)"><path
|
||||||
|
d="M 87.445,22.097"
|
||||||
|
id="path151"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="72.403"
|
||||||
|
y="6.1090002"
|
||||||
|
width="21"
|
||||||
|
height="21"
|
||||||
|
id="rect153"
|
||||||
|
style="fill:#ffcc00" /><polygon
|
||||||
|
points="83.44,10.094 84.441,10.094 88.421,14.079 88.421,15.057 87.445,15.057 83.44,15.057 "
|
||||||
|
id="polygon155"
|
||||||
|
style="fill:#655100" /><polygon
|
||||||
|
points="78.404,11.093 78.404,22.097 87.445,22.097 87.445,14.87 88.421,14.87 88.421,23.134 77.399,23.134 77.399,10.094 83.562,10.094 83.568,11.093 "
|
||||||
|
id="polygon157"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="79.399002"
|
||||||
|
y="12.111"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect159"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="81.394997"
|
||||||
|
y="12.111"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect161"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="79.399002"
|
||||||
|
y="14.103"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect163"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="81.394997"
|
||||||
|
y="14.103"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect165"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="79.399002"
|
||||||
|
y="16.115999"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect167"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="81.394997"
|
||||||
|
y="16.115999"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect169"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="83.403"
|
||||||
|
y="16.115999"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect171"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="85.400002"
|
||||||
|
y="16.115999"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect173"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="79.399002"
|
||||||
|
y="18.118"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect175"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="81.394997"
|
||||||
|
y="18.118"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect177"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="79.399002"
|
||||||
|
y="20.132"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect179"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="81.394997"
|
||||||
|
y="20.132"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect181"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="83.403"
|
||||||
|
y="18.118"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect183"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="85.400002"
|
||||||
|
y="18.118"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect185"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="83.403"
|
||||||
|
y="20.132"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect187"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="85.400002"
|
||||||
|
y="20.132"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect189"
|
||||||
|
style="fill:#655100" /></g><g
|
||||||
|
id="g191"
|
||||||
|
transform="translate(-0.40299988,0)"><path
|
||||||
|
d="M 87.445,54.953"
|
||||||
|
id="path193"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="72.403"
|
||||||
|
y="38.965"
|
||||||
|
width="21"
|
||||||
|
height="21"
|
||||||
|
id="rect195"
|
||||||
|
style="fill:#ffffff" /><polygon
|
||||||
|
points="83.44,42.95 84.441,42.95 88.421,46.935 88.421,47.912 87.445,47.912 83.44,47.912 "
|
||||||
|
id="polygon197"
|
||||||
|
style="fill:#006468" /><polygon
|
||||||
|
points="78.404,43.949 78.404,54.953 87.445,54.953 87.445,47.726 88.421,47.726 88.421,55.99 77.399,55.99 77.399,42.95 83.586,42.95 83.599,43.951 "
|
||||||
|
id="polygon199"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="79.399002"
|
||||||
|
y="44.966999"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect201"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="81.394997"
|
||||||
|
y="44.966999"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect203"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="79.399002"
|
||||||
|
y="46.959"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect205"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="81.394997"
|
||||||
|
y="46.959"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect207"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="79.399002"
|
||||||
|
y="48.972"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect209"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="81.394997"
|
||||||
|
y="48.972"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect211"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="83.403"
|
||||||
|
y="48.972"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect213"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="85.400002"
|
||||||
|
y="48.972"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect215"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="79.399002"
|
||||||
|
y="50.973999"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect217"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="81.394997"
|
||||||
|
y="50.973999"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect219"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="79.399002"
|
||||||
|
y="52.987"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect221"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="81.394997"
|
||||||
|
y="52.987"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect223"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="83.403"
|
||||||
|
y="50.973999"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect225"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="85.400002"
|
||||||
|
y="50.973999"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect227"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="83.403"
|
||||||
|
y="52.987"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect229"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="85.400002"
|
||||||
|
y="52.987"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect231"
|
||||||
|
style="fill:#006468" /></g><g
|
||||||
|
id="g233"
|
||||||
|
transform="translate(-0.40299988,0)"><path
|
||||||
|
d="M 87.445,87.965"
|
||||||
|
id="path235"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="72.403"
|
||||||
|
y="71.976997"
|
||||||
|
width="21"
|
||||||
|
height="21"
|
||||||
|
id="rect237"
|
||||||
|
style="fill:#4db7bb" /><polygon
|
||||||
|
points="83.44,75.961 84.441,75.961 88.421,79.946 88.421,80.924 87.445,80.924 83.44,80.924 "
|
||||||
|
id="polygon239"
|
||||||
|
style="fill:#006468" /><polygon
|
||||||
|
points="78.404,76.961 78.404,87.965 87.445,87.965 87.445,80.738 88.421,80.738 88.421,89.002 77.399,89.002 77.399,75.961 83.586,75.961 83.599,76.963 "
|
||||||
|
id="polygon241"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="79.399002"
|
||||||
|
y="77.977997"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect243"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="81.394997"
|
||||||
|
y="77.977997"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect245"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="79.399002"
|
||||||
|
y="79.970001"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect247"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="81.394997"
|
||||||
|
y="79.970001"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect249"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="79.399002"
|
||||||
|
y="81.984001"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect251"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="81.394997"
|
||||||
|
y="81.984001"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect253"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="83.403"
|
||||||
|
y="81.984001"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect255"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="85.400002"
|
||||||
|
y="81.984001"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect257"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="79.399002"
|
||||||
|
y="83.986"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect259"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="81.394997"
|
||||||
|
y="83.986"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect261"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="79.399002"
|
||||||
|
y="85.999001"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect263"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="81.394997"
|
||||||
|
y="85.999001"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect265"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="83.403"
|
||||||
|
y="83.986"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect267"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="85.400002"
|
||||||
|
y="83.986"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect269"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="83.403"
|
||||||
|
y="85.999001"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect271"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="85.400002"
|
||||||
|
y="85.999001"
|
||||||
|
width="0.995"
|
||||||
|
height="0.99599999"
|
||||||
|
id="rect273"
|
||||||
|
style="fill:#006468" /></g><g
|
||||||
|
id="g275"
|
||||||
|
transform="translate(-0.82800293,0)"><rect
|
||||||
|
x="171.828"
|
||||||
|
y="6.1090002"
|
||||||
|
width="21"
|
||||||
|
height="21"
|
||||||
|
id="rect277"
|
||||||
|
style="fill:#ffcc00" /><rect
|
||||||
|
x="187.819"
|
||||||
|
y="16.101"
|
||||||
|
width="0.99900001"
|
||||||
|
height="0.99800003"
|
||||||
|
id="rect279"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="189.825"
|
||||||
|
y="16.101"
|
||||||
|
width="0.99900001"
|
||||||
|
height="0.99800003"
|
||||||
|
id="rect281"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="174.83299"
|
||||||
|
y="16.101"
|
||||||
|
width="0.99900001"
|
||||||
|
height="0.99800003"
|
||||||
|
id="rect283"
|
||||||
|
style="fill:#655100" /><circle
|
||||||
|
stroke-miterlimit="10"
|
||||||
|
cx="181.80299"
|
||||||
|
cy="16.101"
|
||||||
|
r="4.0900002"
|
||||||
|
id="circle285"
|
||||||
|
style="fill:none;stroke:#655100;stroke-width:1.95439994;stroke-miterlimit:10" /><rect
|
||||||
|
x="175.895"
|
||||||
|
y="18.427999"
|
||||||
|
transform="matrix(0.6915,0.7224,-0.7224,0.6915,69.5827,-121.6599)"
|
||||||
|
width="2.6800001"
|
||||||
|
height="4.4229999"
|
||||||
|
id="rect287"
|
||||||
|
style="fill:#655100" /><rect
|
||||||
|
x="180.789"
|
||||||
|
y="15.103"
|
||||||
|
width="2.0280001"
|
||||||
|
height="1.9960001"
|
||||||
|
id="rect289"
|
||||||
|
style="fill:#655100" /></g><g
|
||||||
|
id="g291"
|
||||||
|
transform="translate(-0.82800293,0)"><rect
|
||||||
|
x="171.828"
|
||||||
|
y="38.965"
|
||||||
|
width="21"
|
||||||
|
height="21"
|
||||||
|
id="rect293"
|
||||||
|
style="fill:#ffffff" /><rect
|
||||||
|
x="187.819"
|
||||||
|
y="48.957001"
|
||||||
|
width="0.99900001"
|
||||||
|
height="0.99800003"
|
||||||
|
id="rect295"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="189.825"
|
||||||
|
y="48.957001"
|
||||||
|
width="0.99900001"
|
||||||
|
height="0.99800003"
|
||||||
|
id="rect297"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="174.83299"
|
||||||
|
y="48.957001"
|
||||||
|
width="0.99900001"
|
||||||
|
height="0.99800003"
|
||||||
|
id="rect299"
|
||||||
|
style="fill:#006468" /><circle
|
||||||
|
stroke-miterlimit="10"
|
||||||
|
cx="181.80299"
|
||||||
|
cy="48.957001"
|
||||||
|
r="4.0900002"
|
||||||
|
id="circle301"
|
||||||
|
style="fill:none;stroke:#006468;stroke-width:1.95439994;stroke-miterlimit:10" /><rect
|
||||||
|
x="175.895"
|
||||||
|
y="51.284"
|
||||||
|
transform="matrix(0.6915,0.7224,-0.7224,0.6915,93.3163,-111.5246)"
|
||||||
|
width="2.6800001"
|
||||||
|
height="4.4229999"
|
||||||
|
id="rect303"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="180.789"
|
||||||
|
y="47.959"
|
||||||
|
width="2.0280001"
|
||||||
|
height="1.9960001"
|
||||||
|
id="rect305"
|
||||||
|
style="fill:#006468" /></g><g
|
||||||
|
id="g307"
|
||||||
|
transform="translate(-0.82800293,0)"><rect
|
||||||
|
x="171.828"
|
||||||
|
y="71.976997"
|
||||||
|
width="21"
|
||||||
|
height="21"
|
||||||
|
id="rect309"
|
||||||
|
style="fill:#4db7bb" /><rect
|
||||||
|
x="187.819"
|
||||||
|
y="81.969002"
|
||||||
|
width="0.99900001"
|
||||||
|
height="0.99800003"
|
||||||
|
id="rect311"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="189.825"
|
||||||
|
y="81.969002"
|
||||||
|
width="0.99900001"
|
||||||
|
height="0.99800003"
|
||||||
|
id="rect313"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="174.83299"
|
||||||
|
y="81.969002"
|
||||||
|
width="0.99900001"
|
||||||
|
height="0.99800003"
|
||||||
|
id="rect315"
|
||||||
|
style="fill:#006468" /><circle
|
||||||
|
stroke-miterlimit="10"
|
||||||
|
cx="181.80299"
|
||||||
|
cy="81.969002"
|
||||||
|
r="4.0900002"
|
||||||
|
id="circle317"
|
||||||
|
style="fill:none;stroke:#006468;stroke-width:1.95439994;stroke-miterlimit:10" /><rect
|
||||||
|
x="175.895"
|
||||||
|
y="84.295998"
|
||||||
|
transform="matrix(0.6915,0.7224,-0.7224,0.6915,117.1625,-101.3412)"
|
||||||
|
width="2.6800001"
|
||||||
|
height="4.4229999"
|
||||||
|
id="rect319"
|
||||||
|
style="fill:#006468" /><rect
|
||||||
|
x="180.789"
|
||||||
|
y="80.970001"
|
||||||
|
width="2.0280001"
|
||||||
|
height="1.9960001"
|
||||||
|
id="rect321"
|
||||||
|
style="fill:#006468" /></g></svg>
|
After Width: | Height: | Size: 23 KiB |
BIN
build/shared/lib/theme/buttons@2x.png
Normal file
After Width: | Height: | Size: 9.4 KiB |
76
build/shared/lib/theme/close.svg
Executable file
@ -0,0 +1,76 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="11"
|
||||||
|
height="11"
|
||||||
|
viewBox="0 0 11 11"
|
||||||
|
id="svg3491"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="close.svg">
|
||||||
|
<defs
|
||||||
|
id="defs3493" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="44.8"
|
||||||
|
inkscape:cx="7.9891861"
|
||||||
|
inkscape:cy="3.2726808"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
units="px"
|
||||||
|
inkscape:window-width="1680"
|
||||||
|
inkscape:window-height="997"
|
||||||
|
inkscape:window-x="-8"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1" />
|
||||||
|
<metadata
|
||||||
|
id="metadata3496">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(0,-1041.3622)">
|
||||||
|
<g
|
||||||
|
id="g4314"
|
||||||
|
transform="matrix(0.625,0.625,-0.625,0.625,648.22636,400.38584)">
|
||||||
|
<rect
|
||||||
|
y="1030.3622"
|
||||||
|
x="0"
|
||||||
|
height="2"
|
||||||
|
width="6"
|
||||||
|
id="rect3510"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
id="rect4312"
|
||||||
|
width="2"
|
||||||
|
height="6"
|
||||||
|
x="2"
|
||||||
|
y="1028.3622" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.2 KiB |
BIN
build/shared/lib/theme/close@2x.png
Normal file
After Width: | Height: | Size: 375 B |
13
build/shared/lib/theme/lock.svg
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="48px" height="66px" viewBox="0 0 48 66" enable-background="new 0 0 48 66" xml:space="preserve">
|
||||||
|
<g>
|
||||||
|
<path fill="#22A2A4" d="M39.903,66h-32c-4.4,0-8-3.6-8-8V31.724c0-4.4,3.6-8,8-8h32c4.4,0,8,3.6,8,8V58
|
||||||
|
C47.903,62.4,44.303,66,39.903,66z"/>
|
||||||
|
<polygon fill="#FFFFFF" points="21.811,44.767 25.811,44.767 27.874,54.927 19.874,54.927 "/>
|
||||||
|
<ellipse fill="#FFFFFF" cx="23.874" cy="40.43" rx="5.469" ry="5.503"/>
|
||||||
|
<path fill="none" stroke="#22A2A4" stroke-width="5.0157" stroke-miterlimit="10" d="M10.782,24.445V13.66
|
||||||
|
c0,0,0.13-11.112,13.121-11.112s12.926,10.948,12.926,10.948v10.948"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 877 B |
BIN
build/shared/lib/theme/lock@2x.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 91 B |
BIN
build/shared/lib/theme/newwindow.png
Normal file
After Width: | Height: | Size: 335 B |
16
build/shared/lib/theme/newwindow.svg
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="16px" height="14px" viewBox="0 0 16 14" enable-background="new 0 0 16 14" xml:space="preserve">
|
||||||
|
<g>
|
||||||
|
<g>
|
||||||
|
<polygon fill="#6279A1" stroke="#2C4573" stroke-miterlimit="10" points="11.508,13.467 0.522,13.467 0.522,5.247 0.522,3.367
|
||||||
|
11.508,3.367 "/>
|
||||||
|
<line fill="none" stroke="#2C4573" stroke-miterlimit="10" x1="11.508" y1="5.247" x2="0.522" y2="5.247"/>
|
||||||
|
<polygon fill="#FFFFFF" stroke="#2C4573" stroke-miterlimit="10" points="15.533,10.546 4.547,10.546 4.547,2.326 4.547,0.446
|
||||||
|
15.533,0.446 "/>
|
||||||
|
<line fill="none" stroke="#2C4573" stroke-miterlimit="10" x1="15.533" y1="2.326" x2="4.547" y2="2.326"/>
|
||||||
|
</g>
|
||||||
|
<rect x="0" y="0" fill="none" width="16" height="14"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 974 B |
BIN
build/shared/lib/theme/newwindow@2x.png
Normal file
After Width: | Height: | Size: 382 B |
Before Width: | Height: | Size: 73 B |
BIN
build/shared/lib/theme/resize.png
Normal file
After Width: | Height: | Size: 308 B |
32
build/shared/lib/theme/resize.svg
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="20px" height="20px" viewBox="0 0 20 20" enable-background="new 0 0 20 20" xml:space="preserve">
|
||||||
|
<rect x="0" y="0" fill="#006468" width="20" height="20"/>
|
||||||
|
<rect x="7.987" y="18" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="8.979" y="17.008" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="10" y="16.016" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="10.992" y="15.024" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="11.984" y="14.032" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="12.976" y="12.985" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="13.968" y="11.993" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="15.038" y="11.001" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="10.992" y="17.991" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="11.984" y="16.999" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="13.005" y="16.007" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="13.997" y="15.015" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="14.989" y="14.023" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="14.032" y="18" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="15.024" y="17.008" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="16.973" y="18" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="17.965" y="17.008" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="16.045" y="16.016" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="17.037" y="15.024" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="18.029" y="14.032" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="15.981" y="12.976" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="16.973" y="11.984" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="18.043" y="10.992" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="16.03" y="10" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="17.022" y="9.008" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
<rect x="18.014" y="8.016" fill="#22A2A4" width="0.992" height="0.992"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
BIN
build/shared/lib/theme/resize@2x.png
Normal file
After Width: | Height: | Size: 233 B |
Before Width: | Height: | Size: 73 B |
BIN
build/shared/lib/theme/tab-sel-left.png
Normal file
After Width: | Height: | Size: 291 B |
57
build/shared/lib/theme/tab-sel-left.svg
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.1"
|
||||||
|
id="Layer_1"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
width="4px"
|
||||||
|
height="33px"
|
||||||
|
viewBox="0 0 4 33"
|
||||||
|
enable-background="new 0 0 4 33"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="tab-sel-left.svg"><metadata
|
||||||
|
id="metadata11"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs9" /><sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1215"
|
||||||
|
inkscape:window-height="1000"
|
||||||
|
id="namedview7"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:showpageshadow="false"
|
||||||
|
borderlayer="true"
|
||||||
|
inkscape:zoom="22.627417"
|
||||||
|
inkscape:cx="3.5649707"
|
||||||
|
inkscape:cy="18.783131"
|
||||||
|
inkscape:window-x="65"
|
||||||
|
inkscape:window-y="24"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="Layer_1" /><path
|
||||||
|
d="M 0.945,35 0.913,9.1392914 C 0.913,8.570369 1.016,7.9992953 1.261,7.4938253 1.634,6.7216391 2.434,6 4,6 l 0,29 -3.055,0 z"
|
||||||
|
id="path5"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#ffffff" /><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
id="rect3339"
|
||||||
|
width="1"
|
||||||
|
height="29"
|
||||||
|
x="4"
|
||||||
|
y="6" /></svg>
|
After Width: | Height: | Size: 2.0 KiB |
BIN
build/shared/lib/theme/tab-sel-left@2x.png
Normal file
After Width: | Height: | Size: 211 B |
Before Width: | Height: | Size: 114 B |
BIN
build/shared/lib/theme/tab-sel-menu.png
Normal file
After Width: | Height: | Size: 333 B |
54
build/shared/lib/theme/tab-sel-menu.svg
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.1"
|
||||||
|
id="Layer_1"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
width="17px"
|
||||||
|
height="33px"
|
||||||
|
viewBox="0 0 17 33"
|
||||||
|
enable-background="new 0 0 17 33"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="tab-sel-menu.svg"><metadata
|
||||||
|
id="metadata15"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs13" /><sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1215"
|
||||||
|
inkscape:window-height="1000"
|
||||||
|
id="namedview11"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="20.227539"
|
||||||
|
inkscape:cx="6.9756954"
|
||||||
|
inkscape:cy="15.780826"
|
||||||
|
inkscape:window-x="65"
|
||||||
|
inkscape:window-y="24"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="Layer_1" /><rect
|
||||||
|
x="0"
|
||||||
|
y="8"
|
||||||
|
width="17"
|
||||||
|
height="17"
|
||||||
|
id="rect3"
|
||||||
|
style="fill:#ffffff" /><polygon
|
||||||
|
fill="#007074"
|
||||||
|
points="3.558,14.029 13.442,14.029 8.5,18.971 "
|
||||||
|
id="polygon9" /></svg>
|
After Width: | Height: | Size: 1.7 KiB |
BIN
build/shared/lib/theme/tab-sel-menu@2x.png
Normal file
After Width: | Height: | Size: 325 B |
Before Width: | Height: | Size: 54 B |
BIN
build/shared/lib/theme/tab-sel-mid.png
Normal file
After Width: | Height: | Size: 279 B |
53
build/shared/lib/theme/tab-sel-mid.svg
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.1"
|
||||||
|
id="Layer_1"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
width="4px"
|
||||||
|
height="33px"
|
||||||
|
viewBox="0 0 4 33"
|
||||||
|
enable-background="new 0 0 4 33"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="tab-sel-mid.svg"><metadata
|
||||||
|
id="metadata11"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs9" /><sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1215"
|
||||||
|
inkscape:window-height="1000"
|
||||||
|
id="namedview7"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="57.212121"
|
||||||
|
inkscape:cx="-0.9151617"
|
||||||
|
inkscape:cy="0.20061838"
|
||||||
|
inkscape:window-x="65"
|
||||||
|
inkscape:window-y="24"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="Layer_1"
|
||||||
|
inkscape:showpageshadow="false"
|
||||||
|
borderlayer="true" /><rect
|
||||||
|
x="-0.5"
|
||||||
|
y="6"
|
||||||
|
width="5"
|
||||||
|
height="29"
|
||||||
|
id="rect3"
|
||||||
|
style="fill:#ffffff" /></svg>
|
After Width: | Height: | Size: 1.7 KiB |
BIN
build/shared/lib/theme/tab-sel-mid@2x.png
Normal file
After Width: | Height: | Size: 169 B |
Before Width: | Height: | Size: 87 B |
BIN
build/shared/lib/theme/tab-sel-right.png
Normal file
After Width: | Height: | Size: 301 B |
59
build/shared/lib/theme/tab-sel-right.svg
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.1"
|
||||||
|
id="Layer_1"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
width="4px"
|
||||||
|
height="33px"
|
||||||
|
viewBox="0 0 4 33"
|
||||||
|
enable-background="new 0 0 4 33"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="tab-sel-right.svg"><metadata
|
||||||
|
id="metadata11"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs9" /><sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1215"
|
||||||
|
inkscape:window-height="1000"
|
||||||
|
id="namedview7"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="22.627417"
|
||||||
|
inkscape:cx="-9.114663"
|
||||||
|
inkscape:cy="17.444107"
|
||||||
|
inkscape:window-x="65"
|
||||||
|
inkscape:window-y="24"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="Layer_1"
|
||||||
|
showborder="true"
|
||||||
|
borderlayer="true"
|
||||||
|
inkscape:showpageshadow="false" /><path
|
||||||
|
d="M 2.9689018,35 3,9.1392919 C 3,8.5703688 2.8999028,7.9992953 2.6618076,7.4938253 2.2993197,6.7216391 1.5218659,6 0,6 0,6 0,15.666667 0,20.5 0,25.333333 0,35 0,35 Z"
|
||||||
|
id="path5"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#ffffff"
|
||||||
|
sodipodi:nodetypes="ccccscc" /><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
id="rect3341"
|
||||||
|
width="1"
|
||||||
|
height="29"
|
||||||
|
x="-1"
|
||||||
|
y="6" /></svg>
|
After Width: | Height: | Size: 2.1 KiB |
BIN
build/shared/lib/theme/tab-sel-right@2x.png
Normal file
After Width: | Height: | Size: 223 B |
Before Width: | Height: | Size: 73 B |
BIN
build/shared/lib/theme/tab-unsel-left.png
Normal file
After Width: | Height: | Size: 291 B |
55
build/shared/lib/theme/tab-unsel-left.svg
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.1"
|
||||||
|
id="Layer_1"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
width="4px"
|
||||||
|
height="33px"
|
||||||
|
viewBox="0 0 4 33"
|
||||||
|
enable-background="new 0 0 4 33"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="tab-unsel-left.svg"><metadata
|
||||||
|
id="metadata11"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs9" /><sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1215"
|
||||||
|
inkscape:window-height="1000"
|
||||||
|
id="namedview7"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="22.627417"
|
||||||
|
inkscape:cx="-9.7695204"
|
||||||
|
inkscape:cy="11.268261"
|
||||||
|
inkscape:window-x="65"
|
||||||
|
inkscape:window-y="24"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="Layer_1" /><path
|
||||||
|
d="M 1.0310981,35 1,9.1392917 C 1,8.570369 1.1000972,7.9992953 1.3381924,7.4938253 1.7006803,6.7216391 2.4781341,6 4,6 l 0,29 -2.9689019,0 z"
|
||||||
|
id="path5"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#4db7bb" /><rect
|
||||||
|
style="fill:#4db7bb;fill-opacity:1;stroke:none"
|
||||||
|
id="rect4139"
|
||||||
|
width="1"
|
||||||
|
height="29"
|
||||||
|
x="3.98"
|
||||||
|
y="6" /></svg>
|
After Width: | Height: | Size: 1.9 KiB |
BIN
build/shared/lib/theme/tab-unsel-left@2x.png
Normal file
After Width: | Height: | Size: 208 B |
Before Width: | Height: | Size: 114 B |
BIN
build/shared/lib/theme/tab-unsel-menu.png
Normal file
After Width: | Height: | Size: 333 B |
54
build/shared/lib/theme/tab-unsel-menu.svg
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.1"
|
||||||
|
id="Layer_1"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
width="17px"
|
||||||
|
height="33px"
|
||||||
|
viewBox="0 0 17 33"
|
||||||
|
enable-background="new 0 0 17 33"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="tab-unsel-menu.svg"><metadata
|
||||||
|
id="metadata15"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs13" /><sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1215"
|
||||||
|
inkscape:window-height="1000"
|
||||||
|
id="namedview11"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="28.606061"
|
||||||
|
inkscape:cx="7.8114936"
|
||||||
|
inkscape:cy="20.15176"
|
||||||
|
inkscape:window-x="65"
|
||||||
|
inkscape:window-y="24"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="Layer_1" /><rect
|
||||||
|
x="0"
|
||||||
|
y="8"
|
||||||
|
width="17"
|
||||||
|
height="17"
|
||||||
|
id="rect3"
|
||||||
|
style="fill:#4db7bb" /><polygon
|
||||||
|
fill="#007074"
|
||||||
|
points="3.558,14.029 13.442,14.029 8.5,18.971 "
|
||||||
|
id="polygon9" /></svg>
|
After Width: | Height: | Size: 1.7 KiB |
BIN
build/shared/lib/theme/tab-unsel-menu@2x.png
Normal file
After Width: | Height: | Size: 328 B |
Before Width: | Height: | Size: 54 B |
BIN
build/shared/lib/theme/tab-unsel-mid.png
Normal file
After Width: | Height: | Size: 279 B |
51
build/shared/lib/theme/tab-unsel-mid.svg
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.1"
|
||||||
|
id="Layer_1"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
width="4px"
|
||||||
|
height="33px"
|
||||||
|
viewBox="0 0 4 33"
|
||||||
|
enable-background="new 0 0 4 33"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="tab-unsel-mid.svg"><metadata
|
||||||
|
id="metadata11"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs9" /><sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1215"
|
||||||
|
inkscape:window-height="1000"
|
||||||
|
id="namedview7"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="20.227539"
|
||||||
|
inkscape:cx="-0.052480132"
|
||||||
|
inkscape:cy="8.6048981"
|
||||||
|
inkscape:window-x="65"
|
||||||
|
inkscape:window-y="24"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="Layer_1" /><rect
|
||||||
|
x="-1"
|
||||||
|
y="6"
|
||||||
|
width="6"
|
||||||
|
height="29"
|
||||||
|
id="rect3"
|
||||||
|
style="fill:#4db7bb" /></svg>
|
After Width: | Height: | Size: 1.6 KiB |
BIN
build/shared/lib/theme/tab-unsel-mid@2x.png
Normal file
After Width: | Height: | Size: 167 B |
Before Width: | Height: | Size: 73 B |