New font used for icons

This commit is contained in:
9and3r
2014-07-29 14:48:13 +02:00
parent a78bab30aa
commit 910368fc87
16 changed files with 2142 additions and 504 deletions

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="7a0221ec-f62d-42c9-ae57-fc244b722561" name="Default" comment="" />
<list default="true" id="f5e97084-fab2-41f7-8222-311d5495c0a2" name="Default" comment="" />
<ignored path="mopidy_touchscreen.iws" />
<ignored path=".idea/workspace.xml" />
<option name="TRACKING_ENABLED" value="true" />
@@ -23,21 +23,11 @@
</component>
<component name="FileEditorManager">
<leaf>
<file leaf-file-name="touch_screen.py" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/touch_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="766" max-vertical-offset="1230">
<caret line="82" column="46" selection-start-line="82" selection-start-column="46" selection-end-line="82" selection-end-column="46" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="screen_manager.py" pinned="false" current="false" current-in-tab="false">
<file leaf-file-name="screen_manager.py" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/screen_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="2491" max-vertical-offset="2910">
<caret line="182" column="40" selection-start-line="182" selection-start-column="40" selection-end-line="182" selection-end-column="40" />
<state vertical-scroll-proportion="-3.128788" vertical-offset="2619" max-vertical-offset="3015">
<caret line="92" column="20" selection-start-line="92" selection-start-column="20" selection-end-line="92" selection-end-column="20" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
@@ -48,38 +38,8 @@
<file leaf-file-name="screen_objects.py" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/screen_objects.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="3675">
<caret line="9" column="23" selection-start-line="9" selection-start-column="23" selection-end-line="9" selection-end-column="23" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="playlist_screen.py" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/playlist_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="61" max-vertical-offset="540">
<caret line="29" column="72" selection-start-line="29" selection-start-column="72" selection-end-line="29" selection-end-column="72" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="list_view.py" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/list_view.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-0.25615764" vertical-offset="1124" max-vertical-offset="1530">
<caret line="73" column="31" selection-start-line="73" selection-start-column="31" selection-end-line="73" selection-end-column="31" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="tracklist.py" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/tracklist.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="121" max-vertical-offset="540">
<caret line="30" column="85" selection-start-line="13" selection-start-column="4" selection-end-line="30" selection-end-column="85" />
<state vertical-scroll-proportion="0.0" vertical-offset="2229" max-vertical-offset="3765">
<caret line="152" column="32" selection-start-line="152" selection-start-column="32" selection-end-line="152" selection-end-column="32" />
<folding />
</state>
</provider>
@@ -95,19 +55,11 @@
<component name="IdeDocumentHistory">
<option name="changedFiles">
<list>
<option value="$PROJECT_DIR$/touch_text_manager.py" />
<option value="$PROJECT_DIR$/touch_screen_backend.py" />
<option value="$PROJECT_DIR$/dynamic_background.py" />
<option value="$PROJECT_DIR$/menu_screen.py" />
<option value="$PROJECT_DIR$/main_screen.py" />
<option value="$PROJECT_DIR$/__init__.py" />
<option value="$PROJECT_DIR$/ext.conf" />
<option value="$PROJECT_DIR$/tracklist.py" />
<option value="$PROJECT_DIR$/touch_manager.py" />
<option value="$PROJECT_DIR$/screen_objects.py" />
<option value="$PROJECT_DIR$/touch_screen.py" />
<option value="$PROJECT_DIR$/screen_manager.py" />
<option value="$PROJECT_DIR$/playlist_screen.py" />
<option value="$PROJECT_DIR$/list_view.py" />
<option value="$PROJECT_DIR$/screen_objects.py" />
<option value="$PROJECT_DIR$/screen_manager.py" />
</list>
</option>
</component>
@@ -167,17 +119,9 @@
</panes>
</component>
<component name="PropertiesComponent">
<property name="recentsLimit" value="5" />
<property name="restartRequiresConfirmation" value="true" />
<property name="FullScreen" value="false" />
<property name="LayoutCode.rearrangeEntriesPython" value="false" />
</component>
<component name="PyConsoleOptionsProvider">
<option name="myPythonConsoleState">
<console-settings />
</option>
</component>
<component name="RunManager" selected="Python.mopidy">
<component name="RunManager">
<configuration default="true" type="tests" factoryName="py.test">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
@@ -299,27 +243,7 @@
<option name="USE_PATTERN" value="false" />
<method />
</configuration>
<configuration default="false" name="mopidy" type="PythonConfigurationType" factoryName="Python">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="/usr/bin/python2.7" />
<option name="WORKING_DIRECTORY" value="" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="mopidy_touchscreen" />
<option name="SCRIPT_NAME" value="mopidy" />
<option name="PARAMETERS" value="" />
<RunnerSettings RunnerId="PythonRunner" />
<ConfigurationWrapper RunnerId="PythonRunner" />
<method />
</configuration>
<list size="1">
<item index="0" class="java.lang.String" itemvalue="Python.mopidy" />
</list>
<list size="0" />
</component>
<component name="ShelveChangesManager" show_recycled="false" />
<component name="SvnConfiguration">
@@ -327,9 +251,9 @@
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="7a0221ec-f62d-42c9-ae57-fc244b722561" name="Default" comment="" />
<created>1405618199088</created>
<updated>1405618199088</updated>
<changelist id="f5e97084-fab2-41f7-8222-311d5495c0a2" name="Default" comment="" />
<created>1406578790451</created>
<updated>1406578790451</updated>
</task>
<servers />
</component>
@@ -338,22 +262,22 @@
<editor active="true" />
<layout>
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.34055728" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.24980783" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.24960877" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.2543036" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32884902" sideWeight="0.50038433" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32884902" sideWeight="0.49961567" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.34055728" sideWeight="0.5" order="8" side_tool="true" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32884902" sideWeight="0.49961567" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
</layout>
</component>
<component name="Vcs.Log.UiProperties">
@@ -373,414 +297,97 @@
</option>
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<option name="time" value="3" />
</breakpoint-manager>
<breakpoint-manager />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/screen_objects.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="1470" max-vertical-offset="2775">
<caret line="98" column="45" selection-start-line="98" selection-start-column="45" selection-end-line="98" selection-end-column="45" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1290">
<caret line="62" column="61" selection-start-line="62" selection-start-column="61" selection-end-line="62" selection-end-column="61" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="3015">
<caret line="88" column="50" selection-start-line="88" selection-start-column="50" selection-end-line="88" selection-end-column="50" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/main_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="165" max-vertical-offset="1620">
<caret line="23" column="26" selection-start-line="23" selection-start-column="26" selection-end-line="23" selection-end-column="26" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="810">
<caret line="12" column="0" selection-start-line="12" selection-start-column="0" selection-end-line="12" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_screen_backend.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="75" max-vertical-offset="345">
<caret line="5" column="0" selection-start-line="5" selection-start-column="0" selection-end-line="5" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_objects.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="2190" max-vertical-offset="2775">
<caret line="146" column="36" selection-start-line="146" selection-start-column="36" selection-end-line="146" selection-end-column="36" />
<state vertical-scroll-proportion="0.0" vertical-offset="2229" max-vertical-offset="3765">
<caret line="152" column="32" selection-start-line="152" selection-start-column="32" selection-end-line="152" selection-end-column="32" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="570" max-vertical-offset="1065">
<caret line="57" column="93" selection-start-line="57" selection-start-column="93" selection-end-line="57" selection-end-column="93" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="3075">
<caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/main_screen.py">
<entry file="file://$PROJECT_DIR$/menu_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1680">
<caret line="96" column="89" selection-start-line="96" selection-start-column="12" selection-end-line="96" selection-end-column="89" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="780" max-vertical-offset="1050">
<caret line="52" column="32" selection-start-line="52" selection-start-column="32" selection-end-line="52" selection-end-column="32" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_objects.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="2610" max-vertical-offset="2775">
<caret line="174" column="33" selection-start-line="174" selection-start-column="33" selection-end-line="174" selection-end-column="33" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="464" max-vertical-offset="1020">
<caret line="54" column="29" selection-start-line="54" selection-start-column="29" selection-end-line="54" selection-end-column="29" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="810" max-vertical-offset="900">
<caret line="54" column="50" selection-start-line="54" selection-start-column="50" selection-end-line="54" selection-end-column="50" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/main_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1770">
<caret line="111" column="54" selection-start-line="111" selection-start-column="54" selection-end-line="111" selection-end-column="54" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="720" max-vertical-offset="1050">
<caret line="48" column="11" selection-start-line="48" selection-start-column="11" selection-end-line="48" selection-end-column="11" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_objects.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="2190" max-vertical-offset="2490">
<caret line="146" column="30" selection-start-line="146" selection-start-column="30" selection-end-line="146" selection-end-column="30" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="195" max-vertical-offset="540">
<caret line="13" column="25" selection-start-line="13" selection-start-column="25" selection-end-line="13" selection-end-column="25" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="135" max-vertical-offset="735">
<caret line="29" column="25" selection-start-line="29" selection-start-column="25" selection-end-line="29" selection-end-column="25" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/main_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1665">
<caret line="38" column="25" selection-start-line="38" selection-start-column="25" selection-end-line="38" selection-end-column="25" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_objects.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="1193" max-vertical-offset="2490">
<caret line="146" column="30" selection-start-line="146" selection-start-column="30" selection-end-line="146" selection-end-column="30" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="360" max-vertical-offset="540">
<caret line="24" column="53" selection-start-line="24" selection-start-column="53" selection-end-line="24" selection-end-column="53" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="450" max-vertical-offset="570">
<caret line="30" column="13" selection-start-line="30" selection-start-column="13" selection-end-line="30" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="345" max-vertical-offset="855">
<caret line="23" column="71" selection-start-line="23" selection-start-column="71" selection-end-line="23" selection-end-column="71" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/main_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="315" max-vertical-offset="1665">
<caret line="26" column="25" selection-start-line="26" selection-start-column="25" selection-end-line="26" selection-end-column="25" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_objects.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="1193" max-vertical-offset="2490">
<caret line="146" column="30" selection-start-line="146" selection-start-column="30" selection-end-line="146" selection-end-column="30" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="360" max-vertical-offset="540">
<caret line="24" column="53" selection-start-line="24" selection-start-column="53" selection-end-line="24" selection-end-column="53" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="450" max-vertical-offset="570">
<caret line="30" column="13" selection-start-line="30" selection-start-column="13" selection-end-line="30" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="345" max-vertical-offset="855">
<caret line="23" column="71" selection-start-line="23" selection-start-column="71" selection-end-line="23" selection-end-column="71" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/main_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1185">
<caret line="26" column="100" selection-start-line="26" selection-start-column="100" selection-end-line="26" selection-end-column="100" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="330" max-vertical-offset="450">
<caret line="22" column="0" selection-start-line="22" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="301" max-vertical-offset="855">
<caret line="27" column="27" selection-start-line="27" selection-start-column="27" selection-end-line="27" selection-end-column="27" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/main_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1335">
<caret line="31" column="28" selection-start-line="31" selection-start-column="28" selection-end-line="31" selection-end-column="28" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="330" max-vertical-offset="450">
<caret line="22" column="0" selection-start-line="22" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="300" max-vertical-offset="855">
<caret line="20" column="9" selection-start-line="20" selection-start-column="9" selection-end-line="20" selection-end-column="9" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/main_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="899" max-vertical-offset="1350">
<caret line="67" column="30" selection-start-line="67" selection-start-column="30" selection-end-line="67" selection-end-column="30" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="330" max-vertical-offset="450">
<caret line="22" column="0" selection-start-line="22" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="285" max-vertical-offset="855">
<caret line="19" column="34" selection-start-line="19" selection-start-column="34" selection-end-line="19" selection-end-column="34" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/main_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1230">
<caret line="60" column="52" selection-start-line="60" selection-start-column="52" selection-end-line="60" selection-end-column="52" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="376" max-vertical-offset="795">
<caret line="45" column="0" selection-start-line="45" selection-start-column="0" selection-end-line="45" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/main_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1245">
<caret line="28" column="46" selection-start-line="28" selection-start-column="46" selection-end-line="28" selection-end-column="46" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_screen_backend.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="360">
<caret line="20" column="33" selection-start-line="20" selection-start-column="33" selection-end-line="20" selection-end-column="33" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/main_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="4.5275593" vertical-offset="0" max-vertical-offset="2340">
<caret line="115" column="0" selection-start-line="115" selection-start-column="0" selection-end-line="115" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="345">
<caret line="17" column="16" selection-start-line="17" selection-start-column="16" selection-end-line="17" selection-end-column="16" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/dynamic_background.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="181" max-vertical-offset="705">
<caret line="17" column="33" selection-start-line="17" selection-start-column="33" selection-end-line="17" selection-end-column="33" />
<state vertical-scroll-proportion="0.79545456" vertical-offset="0" max-vertical-offset="705">
<caret line="21" column="16" selection-start-line="21" selection-start-column="16" selection-end-line="21" selection-end-column="16" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/ext.conf">
<entry file="file://$PROJECT_DIR$/main_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.2284264" vertical-offset="0" max-vertical-offset="394">
<caret line="6" column="45" selection-start-line="6" selection-start-column="45" selection-end-line="6" selection-end-column="45" />
<state vertical-scroll-proportion="-0.6840731" vertical-offset="1792" max-vertical-offset="2175">
<caret line="113" column="47" selection-start-line="113" selection-start-column="47" selection-end-line="113" selection-end-column="47" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/__init__.py">
<entry file="file://$PROJECT_DIR$/menu_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="90" max-vertical-offset="525">
<caret line="31" column="26" selection-start-line="31" selection-start-column="26" selection-end-line="31" selection-end-column="26" />
<folding />
<state vertical-scroll-proportion="0.3524804" vertical-offset="0" max-vertical-offset="383">
<caret line="9" column="32" selection-start-line="9" selection-start-column="32" selection-end-line="9" selection-end-column="32" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_manager.py">
<entry file="file://$PROJECT_DIR$/list_view.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.14319809" vertical-offset="0" max-vertical-offset="1140">
<caret line="5" column="0" selection-start-line="5" selection-start-column="0" selection-end-line="5" selection-end-column="0" />
<folding />
<state vertical-scroll-proportion="-1.1148825" vertical-offset="1222" max-vertical-offset="1605">
<caret line="53" column="18" selection-start-line="53" selection-start-column="18" selection-end-line="53" selection-end-column="18" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/tracklist.py">
<entry file="file://$PROJECT_DIR$/playlist_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="121" max-vertical-offset="540">
<caret line="30" column="85" selection-start-line="13" selection-start-column="4" selection-end-line="30" selection-end-column="85" />
<folding />
<state vertical-scroll-proportion="0.9399478" vertical-offset="0" max-vertical-offset="555">
<caret line="24" column="0" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_screen.py">
<entry file="file://$PROJECT_DIR$/screen_objects.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="766" max-vertical-offset="1230">
<caret line="82" column="46" selection-start-line="82" selection-start-column="46" selection-end-line="82" selection-end-column="46" />
<state vertical-scroll-proportion="0.0" vertical-offset="2229" max-vertical-offset="3765">
<caret line="152" column="32" selection-start-line="152" selection-start-column="32" selection-end-line="152" selection-end-column="32" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="2491" max-vertical-offset="2910">
<caret line="182" column="40" selection-start-line="182" selection-start-column="40" selection-end-line="182" selection-end-column="40" />
<state vertical-scroll-proportion="-3.128788" vertical-offset="2619" max-vertical-offset="3015">
<caret line="92" column="20" selection-start-line="92" selection-start-column="20" selection-end-line="92" selection-end-column="20" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_objects.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="3675">
<caret line="9" column="23" selection-start-line="9" selection-start-column="23" selection-end-line="9" selection-end-column="23" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/playlist_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="61" max-vertical-offset="540">
<caret line="29" column="72" selection-start-line="29" selection-start-column="72" selection-end-line="29" selection-end-column="72" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/list_view.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-0.25615764" vertical-offset="1124" max-vertical-offset="1530">
<caret line="73" column="31" selection-start-line="73" selection-start-column="31" selection-end-line="73" selection-end-column="31" />
<folding />
</state>
</provider>
</entry>
</component>
</project>

View File

@@ -0,0 +1,5 @@
Open *demo.html* to see a list of all the glyphs in your font along with their codes/ligatures.
You won't need any of the files located under the *demo-files* directory when including the generated font in your own projects.
You can import *selection.json* back to the IcoMoon app using the *Import Icons* button (or via Main Menu > Manage Projects) to retrieve your icon selection.

View File

@@ -0,0 +1,152 @@
body {
padding: 0;
margin: 0;
font-family: sans-serif;
font-size: 1em;
line-height: 1.5;
color: #555;
background: #fff;
}
h1 {
font-size: 1.5em;
font-weight: normal;
}
small {
font-size: .66666667em;
}
a {
color: #e74c3c;
text-decoration: none;
}
a:hover, a:focus {
box-shadow: 0 1px #e74c3c;
}
.bshadow0, input {
box-shadow: inset 0 -2px #e7e7e7;
}
input:hover {
box-shadow: inset 0 -2px #ccc;
}
input, fieldset {
font-size: 1em;
margin: 0;
padding: 0;
border: 0;
}
input {
color: inherit;
line-height: 1.5;
height: 1.5em;
padding: .25em 0;
}
input:focus {
outline: none;
box-shadow: inset 0 -2px #449fdb;
}
.glyph {
font-size: 16px;
width: 15em;
padding-bottom: 1em;
margin-right: 4em;
margin-bottom: 1em;
float: left;
overflow: hidden;
}
.liga {
width: 80%;
width: calc(100% - 2.5em);
}
.talign-right {
text-align: right;
}
.talign-center {
text-align: center;
}
.bgc1 {
background: #f1f1f1;
}
.fgc1 {
color: #999;
}
.fgc0 {
color: #000;
}
p {
margin-top: 1em;
margin-bottom: 1em;
}
.mvm {
margin-top: .75em;
margin-bottom: .75em;
}
.mtn {
margin-top: 0;
}
.mtl, .mal {
margin-top: 1.5em;
}
.mbl, .mal {
margin-bottom: 1.5em;
}
.mal, .mhl {
margin-left: 1.5em;
margin-right: 1.5em;
}
.mhmm {
margin-left: 1em;
margin-right: 1em;
}
.mls {
margin-left: .25em;
}
.ptl {
padding-top: 1.5em;
}
.pbs, .pvs {
padding-bottom: .25em;
}
.pvs, .pts {
padding-top: .25em;
}
.clearfix {
zoom: 1;
}
.unit {
float: left;
}
.unitRight {
float: right;
}
.size1of2 {
width: 50%;
}
.size1of1 {
width: 100%;
}
.clearfix:before, .clearfix:after {
content: " ";
display: table;
}
.clearfix:after {
clear: both;
}
.hidden-true {
display: none;
}
.textbox0 {
width: 3em;
background: #f1f1f1;
padding: .25em .5em;
line-height: 1.5;
height: 1.5em;
}
#testDrive {
padding-top: 24px;
line-height: 1.5;
}
.fs0 {
font-size: 16px;
}
.fs1 {
font-size: 32px;
}

View File

@@ -0,0 +1,30 @@
if (!('boxShadow' in document.body.style)) {
document.body.setAttribute('class', 'noBoxShadow');
}
document.body.addEventListener("click", function(e) {
var target = e.target;
if (target.tagName === "INPUT" &&
target.getAttribute('class').indexOf('liga') === -1) {
target.select();
}
});
(function() {
var fontSize = document.getElementById('fontSize'),
testDrive = document.getElementById('testDrive'),
testText = document.getElementById('testText');
function updateTest() {
testDrive.innerHTML = testText.value || String.fromCharCode(160);
if (window.icomoonLiga) {
window.icomoonLiga(testDrive);
}
}
function updateSize() {
testDrive.style.fontSize = fontSize.value + 'px';
}
fontSize.addEventListener('change', updateSize, false);
testText.addEventListener('input', updateTest, false);
testText.addEventListener('change', updateTest, false);
updateSize();
}());

View File

@@ -0,0 +1,585 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>IcoMoon Demo</title>
<meta name="description" content="An Icon Font Generated By IcoMoon.io">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="demo-files/demo.css">
<link rel="stylesheet" href="style.css"></head>
<body>
<div class="bgc1 clearfix">
<h1 class="mhmm mvm"><span class="fgc1">Font Name:</span> icomoon <small class="fgc1">(Glyphs:&nbsp;42)</small></h1>
</div>
<div class="clearfix mhl ptl">
<h1 class="mvm mtn bshadow fgc1">Grid Size: 16</h1>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-music"></span><span class="mls"> icon-music</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e600" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe600;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-headphones"></span><span class="mls"> icon-headphones</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e601" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe601;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-connection"></span><span class="mls"> icon-connection</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e602" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe602;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-book"></span><span class="mls"> icon-book</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e603" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe603;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-books"></span><span class="mls"> icon-books</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e604" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe604;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-file"></span><span class="mls"> icon-file</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e605" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe605;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-folder"></span><span class="mls"> icon-folder</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e606" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe606;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-folder-open"></span><span class="mls"> icon-folder-open</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e607" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe607;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-cabinet"></span><span class="mls"> icon-cabinet</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e608" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe608;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-spinner"></span><span class="mls"> icon-spinner</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e609" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe609;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-cog"></span><span class="mls"> icon-cog</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e60a" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe60a;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-switch"></span><span class="mls"> icon-switch</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e60b" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe60b;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-list"></span><span class="mls"> icon-list</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e60c" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe60c;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-list2"></span><span class="mls"> icon-list2</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e60d" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe60d;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-numbered-list"></span><span class="mls"> icon-numbered-list</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e60e" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe60e;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-menu"></span><span class="mls"> icon-menu</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e60f" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe60f;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-spam"></span><span class="mls"> icon-spam</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e610" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe610;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-close"></span><span class="mls"> icon-close</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e611" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe611;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-checkmark"></span><span class="mls"> icon-checkmark</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e612" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe612;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-minus"></span><span class="mls"> icon-minus</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e613" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe613;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-plus"></span><span class="mls"> icon-plus</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e614" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe614;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-play"></span><span class="mls"> icon-play</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e615" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe615;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-pause"></span><span class="mls"> icon-pause</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e616" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe616;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-stop"></span><span class="mls"> icon-stop</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e617" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe617;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-backward"></span><span class="mls"> icon-backward</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e618" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe618;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-forward"></span><span class="mls"> icon-forward</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e619" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe619;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-first"></span><span class="mls"> icon-first</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e61a" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe61a;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-last"></span><span class="mls"> icon-last</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e61b" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe61b;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-previous"></span><span class="mls"> icon-previous</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e61c" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe61c;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-next"></span><span class="mls"> icon-next</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e61d" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe61d;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-eject"></span><span class="mls"> icon-eject</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e61e" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe61e;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-volume-high"></span><span class="mls"> icon-volume-high</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e61f" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe61f;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-volume-medium"></span><span class="mls"> icon-volume-medium</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e620" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe620;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-volume-low"></span><span class="mls"> icon-volume-low</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e621" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe621;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-volume-mute"></span><span class="mls"> icon-volume-mute</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e622" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe622;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-volume-mute2"></span><span class="mls"> icon-volume-mute2</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e623" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe623;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-volume-increase"></span><span class="mls"> icon-volume-increase</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e624" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe624;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-volume-decrease"></span><span class="mls"> icon-volume-decrease</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e625" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe625;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-loop"></span><span class="mls"> icon-loop</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e626" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe626;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-loop2"></span><span class="mls"> icon-loop2</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e627" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe627;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-loop3"></span><span class="mls"> icon-loop3</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e628" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe628;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-shuffle"></span><span class="mls"> icon-shuffle</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e629" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe629;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
</div>
<!--[if gt IE 8]><!-->
<div class="mhl clearfix mbl">
<h1>Font Test Drive</h1>
<label>
Font Size: <input id="fontSize" type="number" class="textbox0 mbm"
min="8" value="48" />
px
</label>
<input id="testText" type="text" class="phl size1of1 mvl"
placeholder="Type some text to test..." value=""/>
</label>
<div id="testDrive" class="icon-">&nbsp;
</div>
</div>
<!--<![endif]-->
<div class="bgc1 clearfix">
<p class="mhl">Generated by <a href="http://icomoon.io/app">IcoMoon</a></p>
</div>
<script src="demo-files/demo.js"></script>
</body>
</html>

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,151 @@
@font-face {
font-family: 'icomoon';
src:url('fonts/icomoon.eot?r8gz57');
src:url('fonts/icomoon.eot?#iefixr8gz57') format('embedded-opentype'),
url('fonts/icomoon.woff?r8gz57') format('woff'),
url('fonts/icomoon.ttf?r8gz57') format('truetype'),
url('fonts/icomoon.svg?r8gz57#icomoon') format('svg');
font-weight: normal;
font-style: normal;
}
[class^="icon-"], [class*=" icon-"] {
font-family: 'icomoon';
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
/* Better Font Rendering =========== */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-music:before {
content: "\e600";
}
.icon-headphones:before {
content: "\e601";
}
.icon-connection:before {
content: "\e602";
}
.icon-book:before {
content: "\e603";
}
.icon-books:before {
content: "\e604";
}
.icon-file:before {
content: "\e605";
}
.icon-folder:before {
content: "\e606";
}
.icon-folder-open:before {
content: "\e607";
}
.icon-cabinet:before {
content: "\e608";
}
.icon-spinner:before {
content: "\e609";
}
.icon-cog:before {
content: "\e60a";
}
.icon-switch:before {
content: "\e60b";
}
.icon-list:before {
content: "\e60c";
}
.icon-list2:before {
content: "\e60d";
}
.icon-numbered-list:before {
content: "\e60e";
}
.icon-menu:before {
content: "\e60f";
}
.icon-spam:before {
content: "\e610";
}
.icon-close:before {
content: "\e611";
}
.icon-checkmark:before {
content: "\e612";
}
.icon-minus:before {
content: "\e613";
}
.icon-plus:before {
content: "\e614";
}
.icon-play:before {
content: "\e615";
}
.icon-pause:before {
content: "\e616";
}
.icon-stop:before {
content: "\e617";
}
.icon-backward:before {
content: "\e618";
}
.icon-forward:before {
content: "\e619";
}
.icon-first:before {
content: "\e61a";
}
.icon-last:before {
content: "\e61b";
}
.icon-previous:before {
content: "\e61c";
}
.icon-next:before {
content: "\e61d";
}
.icon-eject:before {
content: "\e61e";
}
.icon-volume-high:before {
content: "\e61f";
}
.icon-volume-medium:before {
content: "\e620";
}
.icon-volume-low:before {
content: "\e621";
}
.icon-volume-mute:before {
content: "\e622";
}
.icon-volume-mute2:before {
content: "\e623";
}
.icon-volume-increase:before {
content: "\e624";
}
.icon-volume-decrease:before {
content: "\e625";
}
.icon-loop:before {
content: "\e626";
}
.icon-loop2:before {
content: "\e627";
}
.icon-loop3:before {
content: "\e628";
}
.icon-shuffle:before {
content: "\e629";
}

View File

@@ -48,7 +48,7 @@ class ListView():
else:
width = self.size[0]
while i < self.list_size and z < self.max_rows:
item = TouchAndTextItem(self.fonts['dejavusans'], self.list[i], (self.pos[0], self.pos[1]+self.base_size*z), (width, -1))
item = TouchAndTextItem(self.fonts['base'], self.list[i], (self.pos[0], self.pos[1]+self.base_size*z), (width, -1))
self.screen_objects.set_touch_object(str(i), item)
i += 1
z += 1

View File

@@ -44,19 +44,19 @@ class MainScreen():
width = self.size[0]-self.base_size / 2-x
#Track name
label = TextItem(self.fonts['dejavusans'],track.name,(x,self.base_size*2), (width,self.size[1]))
label = TextItem(self.fonts['base'],track.name,(x,self.base_size*2), (width,self.size[1]))
self.touch_text_manager.set_object("track_name", label)
#Album name
label = TextItem(self.fonts['dejavusans'],track.album.name,(x,self.base_size*3), (width,self.size[1]))
label = TextItem(self.fonts['base'],track.album.name,(x,self.base_size*3), (width,self.size[1]))
self.touch_text_manager.set_object("album_name",label)
#Artist
label = TextItem(self.fonts['dejavusans'],self.getFirstArtist(track),(x,self.base_size*4), (width,self.size[1]))
label = TextItem(self.fonts['base'],self.getFirstArtist(track),(x,self.base_size*4), (width,self.size[1]))
self.touch_text_manager.set_object("artist_name",label)
#Progress
progress = Progressbar(self.fonts['dejavusans'],time.strftime('%M:%S', time.gmtime(0))+"/"+time.strftime('%M:%S', time.gmtime(0)),(0,self.base_size*6), (self.size[0],self.base_size),track.length/1000, False)
progress = Progressbar(self.fonts['base'],time.strftime('%M:%S', time.gmtime(0))+"/"+time.strftime('%M:%S', time.gmtime(0)),(0,self.base_size*6), (self.size[0],self.base_size),track.length/1000, False)
self.touch_text_manager.set_touch_object("time_progress", progress)
self.track = track
@@ -105,13 +105,13 @@ class MainScreen():
logger.error(self.track.name)
width = self.size[0] -self.base_size
current = TextItem(self.fonts['dejavusans'],self.track.name,(self.base_size/2,self.base_size*2),(width, self.base_size))
current = TextItem(self.fonts['base'],self.track.name,(self.base_size/2,self.base_size*2),(width, self.base_size))
self.touch_text_manager.set_object("track_name", current)
current = TextItem(self.fonts['dejavusans'],self.track.album.name,(self.base_size/2,self.base_size*3),(width, self.base_size))
current = TextItem(self.fonts['base'],self.track.album.name,(self.base_size/2,self.base_size*3),(width, self.base_size))
self.touch_text_manager.set_object("album_name", current)
current = TextItem(self.fonts['dejavusans'],self.getFirstArtist(self.track),(self.base_size/2,self.base_size*4),(width, self.base_size))
current = TextItem(self.fonts['base'],self.getFirstArtist(self.track),(self.base_size/2,self.base_size*4),(width, self.base_size))
self.touch_text_manager.set_object("artist_name", current)
#self.touch_text_manager.set_object("album_name",), (self.size[0]-self.base_size,self.size[1]), (255, 255, 255))

View File

@@ -0,0 +1,18 @@
from .list_view import ListView
class MenuScreen():
def __init__(self, size, base_size, manager):
self.size = size
self.base_size = base_size
self.manager = manager
self.list_view = ListView((0,self.base_size),(self.size[0],self.size[1]-2*self.base_size), self.base_size, manager.fonts)
self.list_view.set_list(["Exit mopidy", "Shutdown", "Restart"])
def update(self, screen):
self.list_view.render(screen)
def touch_event(self, touch_event):
clicked = self.list_view.touch_event(touch_event)
if clicked is not None:
pass

View File

@@ -28,3 +28,4 @@ class PlaylistScreen():
if clicked is not None:
self.manager.core.tracklist.clear()
self.manager.core.tracklist.add(uri=self.playlists[clicked].uri)
self.manager.core.playback.play()

View File

@@ -4,10 +4,12 @@ from .screen_objects import *
from .tracklist import Tracklist
from .playlist_screen import PlaylistScreen
from .dynamic_background import DynamicBackground
import pygame
import logging
import mopidy
import traceback
import os
from .menu_screen import MenuScreen
import pygame
logger = logging.getLogger(__name__)
@@ -21,12 +23,14 @@ class ScreenManager():
self.background = DynamicBackground()
self.current_screen = 0
self.base_size = self.size[1] / 8
self.fonts['dejavuserif'] = pygame.font.SysFont("dejavuserif", self.base_size)
self.fonts['dejavusans'] = pygame.font.SysFont("dejavusans", self.base_size)
font = os.path.join(os.path.dirname(os.path.realpath(__file__)),"fonts","icomoon","fonts", "icomoon.ttf")
self.fonts['base'] = pygame.font.SysFont("verdana", self.base_size)
self.fonts['icon'] = pygame.font.Font(font, self.base_size)
try:
self.screens = [MainScreen(size, self, "/home/ander", core, self.fonts),
Tracklist(size, self.base_size, self),
PlaylistScreen(size, self.base_size, self)]
PlaylistScreen(size, self.base_size, self),
MenuScreen(size, self.base_size, self)]
except:
traceback.print_exc()
self.track = None
@@ -38,51 +42,65 @@ class ScreenManager():
self.top_bar.fill((0, 0, 0, 128))
#Play/pause
button = TouchAndTextItem(self.fonts['dejavusans'], " ll", (0, 0), None)
button = TouchAndTextItem(self.fonts['icon'], u"\ue615 ", (0, 0), None)
self.screen_objects_manager.set_touch_object("pause_play", button)
x = button.get_right_pos()
#Random
button = TouchAndTextItem(self.fonts['dejavuserif'], u"\u2928", (x, 0), None)
button = TouchAndTextItem(self.fonts['icon'], u"\ue629 ", (x, 0), None)
self.screen_objects_manager.set_touch_object("random", button)
x = button.get_right_pos()
#Repeat
button = TouchAndTextItem(self.fonts['dejavuserif'], u"\u27F21", (x, 0), None)
button = TouchAndTextItem(self.fonts['icon'], u"\ue626", (x, 0), None)
self.screen_objects_manager.set_touch_object("repeat", button)
x = button.get_right_pos()
#Repeat
button = TouchAndTextItem(self.fonts['base'], " 1 ", (x, 0), None)
self.screen_objects_manager.set_touch_object("single", button)
x = button.get_right_pos()
logger.error(font)
#Mute
button = TouchAndTextItem(self.fonts['dejavusans'], "Mute", (x, 0), None)
button = TouchAndTextItem(self.fonts['icon'], u"\ue61f ", (x, 0), None)
self.screen_objects_manager.set_touch_object("mute", button)
x = button.get_right_pos()
#Volume
progress = Progressbar(self.fonts['dejavusans'], "100", (x, 0), (self.size[0] - x, self.base_size), 100, True)
progress = Progressbar(self.fonts['base'], "100", (x, 0), (self.size[0] - x, self.base_size), 100, True)
self.screen_objects_manager.set_touch_object("volume", progress)
progress.set_value(self.core.playback.volume.get())
#Menu buttons
#Main button
button = TouchAndTextItem(self.fonts['dejavusans'], "Main", (0, self.base_size * 7), None)
button = TouchAndTextItem(self.fonts['icon'], u" \ue600 ", (0, self.base_size * 7), None)
self.screen_objects_manager.set_touch_object("menu_0", button)
x = button.get_right_pos()
#Tracklist button
button = TouchAndTextItem(self.fonts['dejavusans'], "Tracklist", (x, self.base_size * 7), None)
button = TouchAndTextItem(self.fonts['icon'], u"\ue60d ", (x, self.base_size * 7), None)
self.screen_objects_manager.set_touch_object("menu_1", button)
x = button.get_right_pos()
#Playlist button
button = TouchAndTextItem(self.fonts['dejavusans'], "Playlist", (x, self.base_size * 7), None)
#Playlist button
button = TouchAndTextItem(self.fonts['icon'], u"\ue605 ", (x, self.base_size * 7), None)
self.screen_objects_manager.set_touch_object("menu_2", button)
x = button.get_right_pos()
#Menu button
button = TouchAndTextItem(self.fonts['icon'], u" \ue60a ", (x, self.base_size * 7), None)
self.screen_objects_manager.set_touch_object("menu_3", button)
x = button.get_right_pos()
#Down bar
self.down_bar = pygame.Surface((self.size[0], self.base_size), pygame.SRCALPHA)
self.down_bar.fill((0, 0, 0, 128))
self.options_changed()
self.mute_changed(self.core.playback.mute.get())
self.playback_state_changed(self.core.playback.state.get(), self.core.playback.state.get())
self.change_screen(self.current_screen)
@@ -111,7 +129,7 @@ class ScreenManager():
value = self.screen_objects_manager.get_touch_object(key).get_pos_value(
touch_event.current_pos)
self.backend.tell({'action': 'volume', 'value': value})
self.screen_objects_manager.get_touch_object(key).set_value(value)
self.volume_changed(value)
elif key == "pause_play":
if self.core.playback.state.get() == mopidy.core.PlaybackState.PLAYING:
self.core.playback.pause()
@@ -128,57 +146,46 @@ class ScreenManager():
self.core.tracklist.set_random(random)
self.options_changed()
elif key == "repeat":
self.change_repeat_single()
self.core.tracklist.set_repeat(not self.core.tracklist.repeat.get())
elif key == "single":
self.core.tracklist.set_single(not self.core.tracklist.single.get())
elif key[:-1] == "menu_":
self.change_screen(int(key[-1:]))
self.screens[self.current_screen].touch_event(touch_event)
def volume_changed(self, volume):
if not self.core.playback.mute.get():
if volume > 80:
self.screen_objects_manager.get_touch_object("mute").set_text(u"\ue61f", False)
elif volume > 50:
self.screen_objects_manager.get_touch_object("mute").set_text(u"\ue620", False)
elif volume > 20:
self.screen_objects_manager.get_touch_object("mute").set_text(u"\ue621", False)
else:
logger.error("sartu naiz")
self.screen_objects_manager.get_touch_object("mute").set_text(u"\ue622", False)
self.screen_objects_manager.get_touch_object("volume").set_value(volume)
def playback_state_changed(self, old_state, new_state):
if new_state == mopidy.core.PlaybackState.PLAYING:
self.screen_objects_manager.get_touch_object("pause_play").set_text(" ll", True)
self.screen_objects_manager.get_touch_object("pause_play").set_text(u"\ue616", False)
else:
self.screen_objects_manager.get_touch_object("pause_play").set_text(u" \u25B8", True)
self.screen_objects_manager.get_touch_object("pause_play").set_text(u"\ue615", False)
def mute_changed(self, mute):
self.screen_objects_manager.get_touch_object("mute").set_active(mute)
self.screen_objects_manager.get_touch_object("mute").set_active(not mute)
if mute:
self.screen_objects_manager.get_touch_object("mute").set_text(u"\ue623", False)
else:
self.volume_changed(self.core.playback.volume.get())
def tracklist_changed(self):
self.screens[1].tracklist_changed()
def options_changed(self):
self.screen_objects_manager.get_touch_object("random").set_active(self.core.tracklist.random.get())
repeat = self.core.tracklist.repeat.get()
single = self.core.tracklist.single.get()
repeat_button = self.screen_objects_manager.get_touch_object("repeat")
repeat_button.set_active(repeat)
if single:
repeat_button.set_text(u"\u27F21", True)
else:
repeat_button.set_text(u"\u27F2", True)
def change_repeat_single(self):
repeat = self.core.tracklist.repeat.get()
single = self.core.tracklist.single.get()
if single:
if repeat:
repeat = False
single = False
else:
repeat = True
single = False
else:
if repeat:
# repeat = True
single = True
else:
# repeat = False
single = True
self.core.tracklist.set_repeat(repeat)
self.core.tracklist.set_single(single)
self.options_changed()
self.screen_objects_manager.get_touch_object("repeat").set_active(self.core.tracklist.repeat.get())
self.screen_objects_manager.get_touch_object("single").set_active(self.core.tracklist.single.get())
def change_screen(self, new_screen):
self.screen_objects_manager.get_touch_object("menu_"+str(self.current_screen)).set_active(False)

View File

@@ -149,6 +149,10 @@ class TouchAndTextItem(TouchObject, TextItem):
def update(self):
TextItem.update(self)
def set_text(self, text, change_size):
TextItem.set_text(self, text, change_size)
self.active_box = self.font.render(text, True, self.active_color)
def render(self, surface):
if self.fit_horizontal:
pass

View File

@@ -14,12 +14,13 @@ class TouchManager():
left = 2
right = 3
def __init__(self,size):
def __init__(self, size):
self.down_pos = (0, 0)
self.up_pos = (0, 0)
self.screen_size = size
self.max_move_margin = self.screen_size[1] / 6
self.min_swipe_move = self.screen_size[1] / 3
self.down_button = -1
def event(self, event):
if event.type == pygame.MOUSEBUTTONUP:
@@ -31,14 +32,17 @@ class TouchManager():
touch_event = TouchEvent(TouchManager.swipe, self.down_pos, self.up_pos, True)
touch_event.direction = TouchManager.down
return touch_event
else:
elif event.button == 1 and self.down_button == 1:
return self.mouse_up(event)
else:
return None
elif event.type == pygame.MOUSEBUTTONDOWN:
self.mouse_down(event)
return None
def mouse_down(self, event):
self.down_pos = event.pos
self.down_button = event.button
def mouse_up(self, event):
self.up_pos = event.pos

View File

@@ -7,8 +7,9 @@ class Tracklist():
self.size = size
self.base_size = base_size
self.manager = manager
self.list_view = ListView((0,self.base_size),(self.size[0],self.size[1]-2*self.base_size), self.base_size, manager.fonts)
self.list_view = ListView((0, self.base_size),(self.size[0],self.size[1]-2*self.base_size), self.base_size, manager.fonts)
self.tracks = []
self.tracks_strings = []
self.update_list()
def update(self, screen):
@@ -25,7 +26,9 @@ class Tracklist():
self.list_view.set_list(self.tracks_strings)
def touch_event(self, touch_event):
self.list_view.touch_event(touch_event)
pos = self.list_view.touch_event(touch_event)
if pos is not None:
self.manager.core.playback.change_track(self.tracks[pos], on_error_step=1)
def track_started(self, track):
self.list_view.set_selected([self.manager.core.tracklist.index(track).get()])