Commit ba80b320 authored by Michael Winkelmann's avatar Michael Winkelmann

First commit

parents
*.qmlc
*.o
Makefile
moc_*.cpp
*.*.user
/* File generated by Qt Creator */
import QmlProject 1.1
Project {
mainFile: "Example.qml"
/* Include .qml, .js, and image files from current directory and subdirectories */
QmlFiles {
directory: "."
}
JavaScriptFiles {
directory: "."
}
ImageFiles {
directory: "."
}
/* List of plugin directories passed to QML runtime */
// importPaths: [ "../exampleplugin" ]
}
import QtQuick 2.11
import QtQuick.Window 2.11
import QtQuick.Controls 2.4
Window {
id: root
visible: true
width: 640
height: 480
title: qsTr("Hello World")
Rectangle {
color: "black"
anchors.fill: parent
Image {
opacity: 1.0 - slider.value
anchors.centerIn: parent
source: "../car@2x.ktx"
width: sourceSize.width * 2
height: sourceSize.height * 2
}
Image {
opacity: slider.value
anchors.centerIn: parent
source: "../car@2x.png"
width: sourceSize.width * 2
height: sourceSize.height * 2
}
Slider {
id: slider
from: 0.0
to: 1.0
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: parent.bottom
height: 30
}
}
}
import QtQuick 2.11
import QtQuick.Window 2.11
Window {
id: window
visible: true
width: 800
height: 480
title: qsTr("Image Shrink")
Image {
width: 800
height: 480
source: "../lcd_lgd8_incell.png"
//source: "../lcd_lgd8_incell_no_shrink.png"
fillMode: Image.Tile
}
}
/* File generated by Qt Creator */
import QmlProject 1.1
Project {
mainFile: "Example.qml"
/* Include .qml, .js, and image files from current directory and subdirectories */
QmlFiles {
directory: "."
}
JavaScriptFiles {
directory: "."
}
ImageFiles {
directory: "."
}
/* List of plugin directories passed to QML runtime */
// importPaths: [ "../exampleplugin" ]
}
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.4
Window {
visible: true
width: 640
height: 480
title: qsTr("Char Table")
GridView {
id: gridView
anchors.fill: parent
model: 3000
cellHeight: 64
cellWidth: 64
delegate: ItemDelegate {
width: gridView.cellWidth - 1
height: gridView.cellHeight - 1
text: String.fromCharCode(32 + modelData)
font.family: Style.font.name
font.pixelSize: gridView.cellHeight - 8
}
}
}
/* File generated by Qt Creator */
import QmlProject 1.1
Project {
mainFile: "CharMap.qml"
/* Include .qml, .js, and image files from current directory and subdirectories */
QmlFiles {
directory: "."
}
JavaScriptFiles {
directory: "."
}
ImageFiles {
directory: "."
}
/* List of plugin directories passed to QML runtime */
// importPaths: [ "../exampleplugin" ]
}
pragma Singleton
import QtQuick 2.0
QtObject {
readonly property FontLoader font: FontLoader {
//source: "../IBMPlexSans-ExtraLight.ttf"
source: "../IBMPlexSans-ExtraLight_DistanceField.ttf"
}
}
singleton Style Style.qml
import QtQuick 2.11
import QtQuick.Controls 2.4
import QtQuick.Layouts 1.3
Button {
Layout.fillWidth: true
Layout.fillHeight: true
font.pointSize: Math.min(parent.width,parent.height) / 8 + 10
font.family: Icons.font.name
}
import QtQuick 2.11
import QtQuick.Window 2.11
import QtQuick.Controls 2.4
import QtQuick.Layouts 1.3
Window {
id: root
visible: true
width: 640
height: 480
title: qsTr("Audio Player")
ColumnLayout {
anchors.margins: root.width / 24
anchors.fill: parent
spacing: 30
VolumeSlider {
height: 70
Layout.fillWidth: true
}
RowLayout {
id: rowLayout
spacing: 10
Layout.fillWidth: true
Layout.fillHeight: true
BigButton {
text: Icons.ic_fast_rewind_48px
}
BigButton {
checkable: true
text: checked ?
Icons.ic_play_circle_fill_48px :
Icons.ic_pause_circle_fill_48px
}
BigButton {
text: Icons.ic_stop_48px
}
BigButton {
text: Icons.ic_fast_forward_48px
}
}
}
}
/* File generated by Qt Creator */
import QmlProject 1.1
Project {
mainFile: "Example.qml"
/* Include .qml, .js, and image files from current directory and subdirectories */
QmlFiles {
directory: "."
}
JavaScriptFiles {
directory: "."
}
ImageFiles {
directory: "."
}
/* List of plugin directories passed to QML runtime */
// importPaths: [ "../exampleplugin" ]
}
pragma Singleton
import QtQuick 2.0
QtObject {
readonly property FontLoader font: FontLoader { source: "icons.ttf" }
readonly property string ic_album_48px: "\u0021"
readonly property string ic_audiotrack_48px: "\u0022"
readonly property string ic_autorenew_48px: "\u0023"
readonly property string ic_backspace_48px: "\u0024"
readonly property string ic_battery_unknown_48px: "\u0025"
readonly property string ic_beenhere_48px: "\u0026"
readonly property string ic_block_48px: "\u0027"
readonly property string ic_bluetooth_48px: "\u0028"
readonly property string ic_cancel_48px: "\u0029"
readonly property string ic_content_copy_48px: "\u002A"
readonly property string ic_directions_bike_48px: "\u002B"
readonly property string ic_drafts_48px: "\u002C"
readonly property string ic_fast_forward_48px: "\u002D"
readonly property string ic_fast_rewind_48px: "\u002E"
readonly property string ic_headset_48px: "\u002F"
readonly property string ic_headset_mic_48px: "\u0030"
readonly property string ic_label_outline_48px: "\u0031"
readonly property string ic_live_help_48px: "\u0032"
readonly property string ic_menu_48px: "\u0033"
readonly property string ic_merge_type_48px: "\u0034"
readonly property string ic_mic_48px: "\u0035"
readonly property string ic_mic_none_48px: "\u0036"
readonly property string ic_mic_off_48px: "\u0037"
readonly property string ic_pause_48px: "\u0038"
readonly property string ic_pause_circle_fill_48px: "\u0039"
readonly property string ic_people_outline_48px: "\u003A"
readonly property string ic_perm_data_setting_48px: "\u003B"
readonly property string ic_play_arrow_48px: "\u003C"
readonly property string ic_play_circle_fill_48px: "\u003D"
readonly property string ic_play_circle_outline_48px: "\u003E"
readonly property string ic_playlist_add_48px: "\u003F"
readonly property string ic_portable_wifi_off_48px: "\u0040"
readonly property string ic_redo_48px: "\u0041"
readonly property string ic_refresh_48px: "\u0042"
readonly property string ic_remove_red_eye_48px: "\u0043"
readonly property string ic_replay_48px: "\u0044"
readonly property string ic_reply_48px: "\u0045"
readonly property string ic_restore_48px: "\u0046"
readonly property string ic_shop_48px: "\u0047"
readonly property string ic_shopping_basket_48px: "\u0048"
readonly property string ic_skip_next_48px: "\u0049"
readonly property string ic_skip_previous_48px: "\u004A"
readonly property string ic_slideshow_48px: "\u004B"
readonly property string ic_smartphone_48px: "\u004C"
readonly property string ic_stop_48px: "\u004D"
readonly property string ic_visibility_48px: "\u004E"
readonly property string ic_visibility_off_48px: "\u004F"
readonly property string ic_voice_chat_48px: "\u0050"
readonly property string ic_voicemail_48px: "\u0051"
readonly property string ic_volume_down_48px: "\u0052"
readonly property string ic_volume_mute_48px: "\u0053"
readonly property string ic_volume_off_48px: "\u0054"
readonly property string ic_volume_up_48px: "\u0055"
readonly property string ic_warning_48px: "\u0056"
readonly property string ic_wifi_lock_48px: "\u0057"
readonly property string ic_wrap_text_48px: "\u0058"
}
import QtQuick 2.11
import QtQuick.Controls 2.4
import QtQuick.Layouts 1.3
RowLayout {
id: root
spacing: 16
Text {
width: 60
height: root.height
text: {
if (slider.value === 0) {
return Icons.ic_volume_off_48px;
} else
if (slider.value <= 10) {
return Icons.ic_volume_mute_48px;
} else
if (slider.value <= 50) {
return Icons.ic_volume_down_48px;
} else
return Icons.ic_volume_up_48px;
}
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter
font.pointSize: 20
font.family: 'icons'
}
Slider {
id: slider
from: 0
to: 100
height: root.height
Layout.fillWidth: true
}
}
singleton Icons Icons.qml
BatteryStatus BatteryStatus.qml
#!/usr/bin/env python
import glob
import sys
import os
from xml.dom import minidom
if len(sys.argv) < 2:
print("Usage: ./clean_svg.py input_dir output_dir")
exit()
input_dir = sys.argv[1]
output_dir = sys.argv[2]
svgs = glob.glob(input_dir + "/*.svg")
svgs.sort()
for svg in svgs:
doc = minidom.parse(svg) # parseString also exists
basename = os.path.basename(svg)
f = open(os.path.join(output_dir, basename), 'w')
filledPaths = []
for element in doc.getElementsByTagName('path'):
if element.getAttribute('fill'):
if element.getAttribute('fill') == "none":
filledPaths.append(element)
else:
element.removeAttribute('fill')
for element in filledPaths:
doc.getElementsByTagName('svg')[0].removeChild(element)
f.write(doc.getElementsByTagName('svg')[0].toxml())
f.close()
print("Cleaned up %d svgs files" % len(svgs))
#!/usr/bin/env python
import sys
import csv
import os
if len(sys.argv) < 1:
print "Usage: ./generate_qml.py input.csv > Output.qml"
exit()
input_csv = sys.argv[1]
print "pragma Singleton"
print "import QtQuick 2.0"
print ""
print "QtObject {"
print '\treadonly property FontLoader font: FontLoader { source: \"%s\" }' % (input_csv[0:-4]+".ttf")
with open(input_csv, 'rb') as csvfile:
reader = csv.reader(csvfile, delimiter=',', quotechar='"')
for row in reader:
if len(row) < 2:
continue
print '\treadonly property string %s: "\\u%s"' % (row[1],row[0].upper())
print "}"
0021,ic_album_48px
0022,ic_audiotrack_48px
0023,ic_autorenew_48px
0024,ic_backspace_48px
0025,ic_battery_unknown_48px
0026,ic_beenhere_48px
0027,ic_block_48px
0028,ic_bluetooth_48px
0029,ic_cancel_48px
002a,ic_content_copy_48px
002b,ic_directions_bike_48px
002c,ic_drafts_48px
002d,ic_fast_forward_48px
002e,ic_fast_rewind_48px
002f,ic_headset_48px
0030,ic_headset_mic_48px
0031,ic_label_outline_48px
0032,ic_live_help_48px
0033,ic_menu_48px
0034,ic_merge_type_48px
0035,ic_mic_48px
0036,ic_mic_none_48px
0037,ic_mic_off_48px
0038,ic_pause_48px
0039,ic_pause_circle_fill_48px
003a,ic_people_outline_48px
003b,ic_perm_data_setting_48px
003c,ic_play_arrow_48px
003d,ic_play_circle_fill_48px
003e,ic_play_circle_outline_48px
003f,ic_playlist_add_48px
0040,ic_portable_wifi_off_48px
0041,ic_redo_48px
0042,ic_refresh_48px
0043,ic_remove_red_eye_48px
0044,ic_replay_48px
0045,ic_reply_48px
0046,ic_restore_48px
0047,ic_shop_48px
0048,ic_shopping_basket_48px
0049,ic_skip_next_48px
004a,ic_skip_previous_48px
004b,ic_slideshow_48px
004c,ic_smartphone_48px
004d,ic_stop_48px
004e,ic_visibility_48px
004f,ic_visibility_off_48px
0050,ic_voice_chat_48px
0051,ic_voicemail_48px
0052,ic_volume_down_48px
0053,ic_volume_mute_48px
0054,ic_volume_off_48px
0055,ic_volume_up_48px
0056,ic_warning_48px
0057,ic_wifi_lock_48px
0058,ic_wrap_text_48px
Attribution-ShareAlike 4.0 International
=======================================================================
Creative Commons Corporation ("Creative Commons") is not a law firm and
does not provide legal services or legal advice. Distribution of
Creative Commons public licenses does not create a lawyer-client or
other relationship. Creative Commons makes its licenses and related
information available on an "as-is" basis. Creative Commons gives no
warranties regarding its licenses, any material licensed under their
terms and conditions, or any related information. Creative Commons
disclaims all liability for damages resulting from their use to the
fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and
conditions that creators and other rights holders may use to share
original works of authorship and other material subject to copyright
and certain other rights specified in the public license below. The
following considerations are for informational purposes only, are not
exhaustive, and do not form part of our licenses.
Considerations for licensors: Our public licenses are
intended for use by those authorized to give the public
permission to use material in ways otherwise restricted by
copyright and certain other rights. Our licenses are
irrevocable. Licensors should read and understand the terms
and conditions of the license they choose before applying it.
Licensors should also secure all rights necessary before
applying our licenses so that the public can reuse the
material as expected. Licensors should clearly mark any
material not subject to the license. This includes other CC-
licensed material, or material used under an exception or
limitation to copyright. More considerations for licensors:
wiki.creativecommons.org/Considerations_for_licensors
Considerations for the public: By using one of our public
licenses, a licensor grants the public permission to use the
licensed material under specified terms and conditions. If
the licensor's permission is not necessary for any reason--for
example, because of any applicable exception or limitation to
copyright--then that use is not regulated by the license. Our
licenses grant only permissions under copyright and certain
other rights that a licensor has authority to grant. Use of
the licensed material may still be restricted for other
reasons, including because others have copyright or other
rights in the material. A licensor may make special requests,
such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More_considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees
=======================================================================
Creative Commons Attribution-ShareAlike 4.0 International Public
License
By exercising the Licensed Rights (defined below), You accept and agree
to be bound by the terms and conditions of this Creative Commons
Attribution-ShareAlike 4.0 International Public License ("Public
License"). To the extent this Public License may be interpreted as a
contract, You are granted the Licensed Rights in consideration of Your
acceptance of these terms and conditions, and the Licensor grants You
such rights in consideration of benefits the Licensor receives from
making the Licensed Material available under these terms and
conditions.
Section 1 -- Definitions.
a. Adapted Material means material subject to Copyright and Similar
Rights that is derived from or based upon the Licensed Material
and in which the Licensed Material is translated, altered,
arranged, transformed, or otherwise modified in a manner requiring
permission under the Copyright and Similar Rights held by the
Licensor. For purposes of this Public License, where the Licensed
Material is a musical work, performance, or sound recording,
Adapted Material is always produced where the Licensed Material is
synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright
and Similar Rights in Your contributions to Adapted Material in
accordance with the terms and conditions of this Public License.
c. BY-SA Compatible License means a license listed at
creativecommons.org/compatiblelicenses, approved by Creative
Commons as essentially the equivalent of this Public License.
d. Copyright and Similar Rights means copyright and/or similar rights
closely related to copyright including, without limitation,
performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or
categorized. For purposes of this Public License, the rights
specified in Section 2(b)(1)-(2) are not Copyright and Similar
Rights.
e. Effective Technological Measures means those measures that, in the
absence of proper authority, may not be circumvented under laws
fulfilling obligations under Article 11 of the WIPO Copyright
Treaty adopted on December 20, 1996, and/or similar international
agreements.
f. Exceptions and Limitations means fair use, fair dealing, and/or
any other exception or limitation to Copyright and Similar Rights
that applies to Your use of the Licensed Material.
g. License Elements means the license attributes listed in the name
of a Creative Commons Public License. The License Elements of this
Public License are Attribution and ShareAlike.
h. Licensed Material means the artistic or literary work, database,
or other material to which the Licensor applied this Public
License.
i. Licensed Rights means the rights granted to You subject to the
terms and conditions of this Public License, which are limited to
all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.
j. Licensor means the individual(s) or entity(ies) granting rights
under this Public License.
k. Share means to provide material to the public by any means or
process that requires permission under the Licensed Rights, such
as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material
available to the public including in ways that members of the
public may access the material from a place and at a time
individually chosen by them.
l. Sui Generis Database Rights means rights other than copyright
resulting from Directive 96/9/EC of the European Parliament and of
the Council of 11 March 1996 on the legal protection of databases,
as amended and/or succeeded, as well as other essentially
equivalent rights anywhere in the world.
m. You means the individual or entity exercising the Licensed Rights
under this Public License. Your has a corresponding meaning.