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
This diff is collapsed.
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm0 29c-4.97 0-9-4.03-9-9s4.03-9 9-9 9 4.03 9 9-4.03 9-9 9zm0-11c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M24 6v18.55c-.94-.33-1.94-.55-3-.55-4.97 0-9 4.03-9 9s4.03 9 9 9c4.63 0 8.4-3.51 8.9-8h.1v-22h8v-6h-14z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M24 12v6l8-8-8-8v6c-8.84 0-16 7.16-16 16 0 3.14.92 6.05 2.48 8.52l2.92-2.92c-.89-1.67-1.4-3.57-1.4-5.6 0-6.63 5.37-12 12-12zm13.52 3.48l-2.92 2.92c.89 1.67 1.4 3.57 1.4 5.6 0 6.63-5.37 12-12 12v-6l-8 8 8 8v-6c8.84 0 16-7.16 16-16 0-3.14-.92-6.05-2.48-8.52z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M44 6h-30c-1.38 0-2.47.7-3.19 1.76l-10.81 16.23 10.81 16.23c.72 1.06 1.81 1.78 3.19 1.78h30c2.21 0 4-1.79 4-4v-28c0-2.21-1.79-4-4-4zm-6 25.17l-2.83 2.83-7.17-7.17-7.17 7.17-2.83-2.83 7.17-7.17-7.17-7.17 2.83-2.83 7.17 7.17 7.17-7.17 2.83 2.83-7.17 7.17 7.17 7.17z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M31.33 8h-3.33v-4h-8v4h-3.33c-1.48 0-2.67 1.19-2.67 2.67v30.67c0 1.47 1.19 2.67 2.67 2.67h14.67c1.47 0 2.67-1.19 2.67-2.67v-30.67c-.01-1.48-1.2-2.67-2.68-2.67zm-5.43 27.9h-3.8v-3.8h3.8v3.8zm2.7-10.52s-.76.84-1.34 1.42c-.97.97-1.66 2.29-1.66 3.2h-3.2c0-1.66.92-3.05 1.86-3.99l1.86-1.89c.54-.54.88-1.29.88-2.12 0-1.66-1.34-3-3-3s-3 1.34-3 3h-3c0-3.31 2.69-6 6-6s6 2.69 6 6c0 1.32-.53 2.52-1.4 3.38z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M38 2h-28c-2.21 0-3.98 1.79-3.98 4l-.02 25.87c0 1.38.7 2.6 1.76 3.32l16.23 10.81 16.23-10.81c1.06-.72 1.76-1.94 1.76-3.32l.02-25.87c0-2.21-1.79-4-4-4zm-18 30l-10-10 2.83-2.83 7.17 7.17 15.17-15.17 2.83 2.83-18 18z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M24 4c-11.05 0-20 8.95-20 20s8.95 20 20 20 20-8.95 20-20-8.95-20-20-20zm-16 20c0-8.84 7.16-16 16-16 3.7 0 7.09 1.27 9.8 3.37l-22.43 22.43c-2.1-2.71-3.37-6.1-3.37-9.8zm16 16c-3.7 0-7.09-1.27-9.8-3.37l22.43-22.43c2.1 2.71 3.37 6.1 3.37 9.8 0 8.84-7.16 16-16 16z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M35.41 15.41l-11.41-11.41h-2v15.17l-9.17-9.17-2.83 2.83 11.17 11.17-11.17 11.17 2.83 2.83 9.17-9.17v15.17h2l11.41-11.41-8.58-8.59 8.58-8.59zm-9.41-3.75l3.76 3.76-3.76 3.75v-7.51zm3.76 20.93l-3.76 3.75v-7.52l3.76 3.77z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M24 4c-11.05 0-20 8.95-20 20s8.95 20 20 20 20-8.95 20-20-8.95-20-20-20zm10 27.17l-2.83 2.83-7.17-7.17-7.17 7.17-2.83-2.83 7.17-7.17-7.17-7.17 2.83-2.83 7.17 7.17 7.17-7.17 2.83 2.83-7.17 7.17 7.17 7.17z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M32 2h-24c-2.21 0-4 1.79-4 4v28h4v-28h24v-4zm6 8h-22c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h22c2.21 0 4-1.79 4-4v-28c0-2.21-1.79-4-4-4zm0 32h-22v-28h22v28z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M32 9.6c1.98 0 3.6-1.61 3.6-3.6s-1.62-3.6-3.6-3.6c-1.99 0-3.6 1.61-3.6 3.6s1.61 3.6 3.6 3.6zm6 14.4c-5.52 0-10 4.48-10 10s4.48 10 10 10 10-4.48 10-10-4.48-10-10-10zm0 17c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7zm-8.4-21h8.4v-3.6h-6.4l-3.87-6.53c-.59-1-1.68-1.67-2.93-1.67-.94 0-1.79.38-2.4 1l-7.4 7.39c-.62.62-1 1.47-1 2.41 0 1.26.67 2.32 1.7 2.94l6.7 4.06v10h3.6v-12.96l-4.5-3.34 4.64-4.66 3.46 4.96zm-19.6 4c-5.52 0-10 4.48-10 10s4.48 10 10 10 10-4.48 10-10-4.48-10-10-10zm0 17c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M43.98 16c0-1.44-.75-2.69-1.88-3.4l-18.1-10.6-18.1 10.6c-1.13.71-1.9 1.96-1.9 3.4v20c0 2.21 1.79 4 4 4h32c2.21 0 4-1.79 4-4l-.02-20zm-19.98 10l-16.52-10.33 16.52-9.67 16.52 9.67-16.52 10.33z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M8 36l17-12L8 12v24zm18-24v24l17-12-17-12z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M22 36V12L5 24l17 12zm1-12l17 12V12L23 24z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M24 2c-9.94 0-18 8.06-18 18v14c0 3.31 2.69 6 6 6h6v-16h-8v-4c0-7.73 6.27-14 14-14s14 6.27 14 14v4h-8v16h6c3.31 0 6-2.69 6-6v-14c0-9.94-8.06-18-18-18z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M24 2c-9.94 0-18 8.06-18 18v14c0 3.31 2.69 6 6 6h6v-16h-8v-4c0-7.73 6.27-14 14-14s14 6.27 14 14v4h-8v16h8v2h-14v4h12c3.31 0 6-2.69 6-6v-20c0-9.94-8.06-18-18-18z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M35.27 11.69c-.73-1.02-1.92-1.69-3.27-1.69l-22 .02c-2.21 0-4 1.77-4 3.98v20c0 2.21 1.79 3.98 4 3.98l22 .02c1.35 0 2.54-.67 3.27-1.69l8.73-12.31-8.73-12.31zm-3.27 22.31h-22v-20h22l7.09 10-7.09 10z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M38 4h-28c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h8l6 6 6-6h8c2.21 0 4-1.79 4-4v-28c0-2.21-1.79-4-4-4zm-12 32h-4v-4h4v4zm4.13-15.49l-1.79 1.84c-1.44 1.44-2.34 2.65-2.34 5.65h-4v-1c0-2.21.9-4.21 2.34-5.66l2.49-2.52c.72-.72 1.17-1.72 1.17-2.82 0-2.21-1.79-4-4-4s-4 1.79-4 4h-4c0-4.42 3.58-8 8-8s8 3.58 8 8c0 1.76-.71 3.35-1.87 4.51z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M6 36h36v-4h-36v4zm0-10h36v-4h-36v4zm0-14v4h36v-4h-36z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M34 40.83l2.83-2.83-6.83-6.83-2.83 2.83 6.83 6.83zm-19-24.83h7v11.17l-10.83 10.83 2.83 2.83 12-12v-12.83h7l-9-9-9 9z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M24 28c3.31 0 5.98-2.69 5.98-6L30 10c0-3.32-2.68-6-6-6-3.31 0-6 2.68-6 6v12c0 3.31 2.69 6 6 6zm10.6-6c0 6-5.07 10.2-10.6 10.2-5.52 0-10.6-4.2-10.6-10.2H10c0 6.83 5.44 12.47 12 13.44V42h4v-6.56c6.56-.97 12-6.61 12-13.44h-3.4z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M24 28c3.31 0 5.98-2.69 5.98-6L30 10c0-3.32-2.68-6-6-6-3.31 0-6 2.68-6 6v12c0 3.31 2.69 6 6 6zM21.6 9.8c0-1.32 1.08-2.4 2.4-2.4 1.32 0 2.4 1.08 2.4 2.4l-.02 12.4c0 1.32-1.07 2.4-2.38 2.4-1.32 0-2.4-1.08-2.4-2.4V9.8zm13 12.2c0 6-5.07 10.2-10.6 10.2-5.52 0-10.6-4.2-10.6-10.2H10c0 6.83 5.44 12.47 12 13.44V42h4v-6.56c6.56-.97 12-6.61 12-13.44h-3.4z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M38 22h-3.4c0 1.49-.31 2.87-.87 4.1l2.46 2.46C37.33 26.61 38 24.38 38 22zm-8.03.33c0-.11.03-.22.03-.33V10c0-3.32-2.69-6-6-6s-6 2.68-6 6v.37l11.97 11.96zM8.55 6L6 8.55l12.02 12.02v1.44c0 3.31 2.67 6 5.98 6 .45 0 .88-.06 1.3-.15l3.32 3.32c-1.43.66-3 1.03-4.62 1.03-5.52 0-10.6-4.2-10.6-10.2H10c0 6.83 5.44 12.47 12 13.44V42h4v-6.56c1.81-.27 3.53-.9 5.08-1.81L39.45 42 42 39.46 8.55 6z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M12 38h8V10h-8v28zm16-28v28h8V10h-8z"/>
</svg>
\ No newline at end of file
<svg height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg">