Merge branch 'all_new_desgn_and_in-app_display_of_events' into 'master'
All new desgn and in app display of events See merge request dorian/fanny-app!1
20
CHANGELOG.md
|
@ -1,9 +1,21 @@
|
|||
# Changelog
|
||||
Jegliche Veräderungen werden hier dokumentiert
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [Unveröffentlicht]
|
||||
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
||||
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [0.9.0 - 0.9.1] - ALPHA - 2018-12
|
||||
### Geändert
|
||||
- Auf der Anmelde Seite ist jetzt der gesamte Text auf deutsch
|
||||
- Komplett neues Design
|
||||
- der Vertretungsplan wird jetzt innerhalb der App angezeigt
|
||||
- Auf der Anmelde-Seite ist jetzt der gesamte Text auf deutsch
|
||||
- Die fanny-Webseite wird jetzt nicht mehr innerhalb der App angezeigt
|
||||
|
||||
### Behoben
|
||||
- Viele interne Verbesserungen, die zu besserer performance führen
|
||||
|
||||
### Hinzugefügt
|
||||
- Jetzt kompatibel mit der neusten android API und IOS Geräten
|
||||
|
||||
## [0.04] - 2018-07-19
|
||||
### Behoben
|
||||
|
@ -30,6 +42,7 @@ Jegliche Veräderungen werden hier dokumentiert
|
|||
|
||||
### Geändert
|
||||
- Die bisherige Fortschrittsanzeige durch eine kreisförmige erstezt
|
||||
|
||||
### Behoben
|
||||
- Der Text beim Spieseplan wird nicht mehr abgeschnitten
|
||||
- Beim Laden des Speiseplanes werden keine sehr großen oder kleinen Zahlen mehr angezeigt
|
||||
|
@ -52,6 +65,7 @@ ohne Internetverbindung gestertet und diese dann während die app lief wieder he
|
|||
## [0.02] - 2018-06-22
|
||||
### Hinzugefügt
|
||||
- Fortschrittsanzeigr beim Herunterladen der pdfs
|
||||
|
||||
### Behoben
|
||||
- Rechtschreibfehler auf der Startseite
|
||||
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
<?xml version="1.0"?>
|
||||
<manifest package="com.itsblue.flgvertretung" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="0.04" android:versionCode="7" android:installLocation="auto">
|
||||
<paths xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<external-path name="external_files" path="."/>
|
||||
</paths>
|
||||
<manifest package="com.itsblue.flgvertretungtest" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="0.9.3" android:versionCode="12" android:installLocation="auto">
|
||||
|
||||
<application android:hardwareAccelerated="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="fannyapp" android:icon="@drawable/icon">
|
||||
<activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation" android:name="org.qtproject.qt5.android.bindings.QtActivity" android:label="fannyapp" android:screenOrientation="unspecified" android:launchMode="singleTop">
|
||||
<activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation" android:name="com.itsblue.flgvertretung.MainActivity" android:label="fannyapp_alpha" android:screenOrientation="unspecified" android:launchMode="singleTop">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
|
@ -62,13 +60,19 @@
|
|||
-->
|
||||
<meta-data android:name="android.app.extract_android_style" android:value="full"/>
|
||||
<!-- extract android style -->
|
||||
|
||||
<provider android:name="android.support.v4.content.FileProvider" android:authorities="${applicationId}" android:exported="false" android:grantUriPermissions="true">
|
||||
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths"/>
|
||||
</provider>
|
||||
|
||||
|
||||
</activity>
|
||||
|
||||
<!-- For adding service(s) please check: https://wiki.qt.io/AndroidServices -->
|
||||
|
||||
</application>
|
||||
|
||||
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="16"/>
|
||||
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="28"/>
|
||||
<supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
|
||||
|
||||
<!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
|
||||
|
|
58
android-sources/build.gradle
Normal file
|
@ -0,0 +1,58 @@
|
|||
buildscript {
|
||||
repositories {
|
||||
jcenter()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:2.2.3'
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
jcenter()
|
||||
}
|
||||
}
|
||||
|
||||
apply plugin: 'com.android.application'
|
||||
|
||||
dependencies {
|
||||
compile fileTree(dir: 'libs', include: ['*.jar'])
|
||||
compile 'com.android.support:support-v4:25.3.1'
|
||||
}
|
||||
|
||||
android {
|
||||
/*******************************************************
|
||||
* The following variables:
|
||||
* - androidBuildToolsVersion,
|
||||
* - androidCompileSdkVersion
|
||||
* - qt5AndroidDir - holds the path to qt android files
|
||||
* needed to build any Qt application
|
||||
* on Android.
|
||||
*
|
||||
* are defined in gradle.properties file. This file is
|
||||
* updated by QtCreator and androiddeployqt tools.
|
||||
* Changing them manually might break the compilation!
|
||||
*******************************************************/
|
||||
|
||||
compileSdkVersion androidCompileSdkVersion.toInteger()
|
||||
|
||||
buildToolsVersion androidBuildToolsVersion
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
manifest.srcFile 'AndroidManifest.xml'
|
||||
java.srcDirs = [qt5AndroidDir + '/src', 'src', 'java']
|
||||
aidl.srcDirs = [qt5AndroidDir + '/src', 'src', 'aidl']
|
||||
res.srcDirs = [qt5AndroidDir + '/res', 'res']
|
||||
resources.srcDirs = ['src']
|
||||
renderscript.srcDirs = ['src']
|
||||
assets.srcDirs = ['assets']
|
||||
jniLibs.srcDirs = ['libs']
|
||||
}
|
||||
}
|
||||
|
||||
lintOptions {
|
||||
abortOnError false
|
||||
}
|
||||
}
|
4
android-sources/res/xml/provider_paths.xml
Normal file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<paths xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<external-path name="external_files" path="."/>
|
||||
</paths>
|
124
android-sources/src/com/itsblue/flgvertretung/MainActivity.java
Normal file
|
@ -0,0 +1,124 @@
|
|||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the QtAndroidExtras module of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:BSD$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** BSD License Usage
|
||||
** Alternatively, you may use this file under the terms of the BSD license
|
||||
** as follows:
|
||||
**
|
||||
** "Redistribution and use in source and binary forms, with or without
|
||||
** modification, are permitted provided that the following conditions are
|
||||
** met:
|
||||
** * Redistributions of source code must retain the above copyright
|
||||
** notice, this list of conditions and the following disclaimer.
|
||||
** * Redistributions in binary form must reproduce the above copyright
|
||||
** notice, this list of conditions and the following disclaimer in
|
||||
** the documentation and/or other materials provided with the
|
||||
** distribution.
|
||||
** * Neither the name of The Qt Company Ltd nor the names of its
|
||||
** contributors may be used to endorse or promote products derived
|
||||
** from this software without specific prior written permission.
|
||||
**
|
||||
**
|
||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
package com.itsblue.flgvertretung;
|
||||
|
||||
import android.app.Notification;
|
||||
import android.app.NotificationManager;
|
||||
import android.content.Context;
|
||||
|
||||
import android.app.Activity;
|
||||
import java.lang.Runnable;
|
||||
import android.content.Intent;
|
||||
import java.io.File;
|
||||
import android.net.Uri;
|
||||
|
||||
public class MainActivity extends org.qtproject.qt5.android.bindings.QtActivity
|
||||
{
|
||||
private static MainActivity m_instance;
|
||||
|
||||
public MainActivity()
|
||||
{
|
||||
m_instance = this;
|
||||
}
|
||||
/*
|
||||
private static NotificationManager m_notificationManager;
|
||||
private static Notification.Builder m_builder;
|
||||
private static NotificationClient m_instance;
|
||||
|
||||
public NotificationClient()
|
||||
{
|
||||
m_instance = this;
|
||||
}
|
||||
|
||||
public static void notify(String s)
|
||||
{
|
||||
if (m_notificationManager == null) {
|
||||
m_notificationManager = (NotificationManager)m_instance.getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
m_builder = new Notification.Builder(m_instance);
|
||||
m_builder.setSmallIcon(R.drawable.icon);
|
||||
m_builder.setContentTitle("A message from Qt!");
|
||||
}
|
||||
|
||||
m_builder.setContentText(s);
|
||||
m_notificationManager.notify(1, m_builder.build());
|
||||
}
|
||||
*/
|
||||
|
||||
public static boolean openUrl(String url, String mime)
|
||||
{
|
||||
boolean ok = true;
|
||||
Intent intent = new Intent();
|
||||
intent.setAction(android.content.Intent.ACTION_VIEW);
|
||||
File file = new File(url);
|
||||
intent.setDataAndType(Uri.fromFile(file), "text/plain");
|
||||
|
||||
m_instance.startActivity(intent);
|
||||
return ok;
|
||||
|
||||
|
||||
/*
|
||||
try
|
||||
{
|
||||
Uri uri = Uri.parse(url);
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
|
||||
if ( !mime.isEmpty() ) intent.setDataAndType(uri, mime);
|
||||
m_instance.startActivity(intent);
|
||||
}
|
||||
|
||||
catch (Exception e)
|
||||
{ e.printStackTrace(); ok = false; }
|
||||
|
||||
return ok;
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
}
|
31
fannyapp.pro
|
@ -1,4 +1,4 @@
|
|||
QT += qml quick quickcontrols2 xml widgets webview
|
||||
QT += qml quick quickcontrols2 xml
|
||||
CONFIG += c++11
|
||||
|
||||
# The following define makes your compiler emit warnings if you use
|
||||
|
@ -16,20 +16,26 @@ TEMPLATE = app
|
|||
TARGET = fannyapp
|
||||
|
||||
ICON = favicon.icns
|
||||
RC_ICONS = favicon.ico
|
||||
RC_ICONS = shared/favicon.ico
|
||||
|
||||
SOURCES += \
|
||||
source/serverconn.cpp \
|
||||
source/main.cpp \
|
||||
source/appsettings.cpp
|
||||
sources/serverconn.cpp \
|
||||
sources/main.cpp \
|
||||
sources/appsettings.cpp \
|
||||
sources/foodplanmodel.cpp \
|
||||
sources/eventmodel.cpp \
|
||||
sources/filtermodel.cpp
|
||||
|
||||
HEADERS += \
|
||||
headers/serverconn.h \
|
||||
headers/appsettings.h
|
||||
headers/appsettings.h \
|
||||
headers/foodplanmodel.h \
|
||||
headers/eventmodel.h \
|
||||
headers/filtermodel.h
|
||||
|
||||
RESOURCES += \
|
||||
qml/qml.qrc \
|
||||
shared.qrc
|
||||
shared/shared.qrc \
|
||||
qml/qml.qrc
|
||||
|
||||
# Additional import path used to resolve QML modules in Qt Creator's code model
|
||||
QML_IMPORT_PATH =
|
||||
|
@ -43,10 +49,17 @@ else: unix:!android: target.path = /opt/$${TARGET}/bin
|
|||
!isEmpty(target.path): INSTALLS += target
|
||||
|
||||
android {
|
||||
QT += androidextras
|
||||
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android-sources
|
||||
}
|
||||
|
||||
DISTFILES += \
|
||||
favicon.png \
|
||||
android-sources/AndroidManifest.xml
|
||||
android-sources/AndroidManifest.xml \
|
||||
android-sources/src/com/itsblue/flgvertretung/MainActivity.java \
|
||||
android-sources/res/drawable-hdpi/icon.png \
|
||||
android-sources/res/drawable-ldpi/icon.png \
|
||||
android-sources/res/drawable-mdpi/icon.png \
|
||||
android-sources/res/xml/provider_paths.xml \
|
||||
CHANGELOG.md
|
||||
|
||||
|
|
|
@ -1,336 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.6.2, 2018-06-22T08:53:16. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{736334c7-59b9-42fb-bb64-0bbe827a8b2c}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="int">0</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap"/>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.10.1 clang 64bit</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.10.1 clang 64bit</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5101.clang_64_kit</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">2</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/Users/dorian/Documents/git/build-fannyapp-Desktop_Qt_5_10_1_clang_64bit-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/Users/dorian/Documents/git/build-fannyapp-Desktop_Qt_5_10_1_clang_64bit-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/Users/dorian/Documents/git/build-fannyapp-Desktop_Qt_5_10_1_clang_64bit-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment-Konfiguration</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
||||
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
||||
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
||||
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
||||
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
||||
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||
<value type="int">0</value>
|
||||
<value type="int">1</value>
|
||||
<value type="int">2</value>
|
||||
<value type="int">3</value>
|
||||
<value type="int">4</value>
|
||||
<value type="int">5</value>
|
||||
<value type="int">6</value>
|
||||
<value type="int">7</value>
|
||||
<value type="int">8</value>
|
||||
<value type="int">9</value>
|
||||
<value type="int">10</value>
|
||||
<value type="int">11</value>
|
||||
<value type="int">12</value>
|
||||
<value type="int">13</value>
|
||||
<value type="int">14</value>
|
||||
</valuelist>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">fannyapp</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/Users/dorian/Documents/git/fanny-app/fannyapp.pro</value>
|
||||
<value type="bool" key="QmakeProjectManager.QmakeRunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">fannyapp.pro</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default">/Users/dorian/Documents/git/build-fannyapp-Desktop_Qt_5_10_1_clang_64bit-Profile/fannyapp.app/Contents/MacOS</value>
|
||||
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="int">1</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">18</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">18</value>
|
||||
</data>
|
||||
</qtcreator>
|
|
@ -1,882 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.6.1, 2018-06-21T17:56:13. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{a7af30b9-cb0f-45fd-9894-328c8b8b2887}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="int">0</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap"/>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.10.1 MSVC2017 64bit</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.10.1 MSVC2017 64bit</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5101.win64_msvc2017_64_kit</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/Documents/Git/build-fannyapp-Desktop_Qt_5_10_1_MSVC2017_64bit-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/Documents/Git/build-fannyapp-Desktop_Qt_5_10_1_MSVC2017_64bit-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/Documents/Git/build-fannyapp-Desktop_Qt_5_10_1_MSVC2017_64bit-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment-Konfiguration</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
||||
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
||||
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
||||
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
||||
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
||||
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||
<value type="int">0</value>
|
||||
<value type="int">1</value>
|
||||
<value type="int">2</value>
|
||||
<value type="int">3</value>
|
||||
<value type="int">4</value>
|
||||
<value type="int">5</value>
|
||||
<value type="int">6</value>
|
||||
<value type="int">7</value>
|
||||
<value type="int">8</value>
|
||||
<value type="int">9</value>
|
||||
<value type="int">10</value>
|
||||
<value type="int">11</value>
|
||||
<value type="int">12</value>
|
||||
<value type="int">13</value>
|
||||
<value type="int">14</value>
|
||||
</valuelist>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">fannyapp</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:D:/Documents/Git/fanny-app/fannyapp.pro</value>
|
||||
<value type="bool" key="QmakeProjectManager.QmakeRunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">fannyapp.pro</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default">D:/Documents/Git/build-fannyapp-Desktop_Qt_5_10_1_MSVC2017_64bit-Release</value>
|
||||
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.1</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 5.10.1 for UWP 32bit (MSVC 2017)</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Qt 5.10.1 for UWP 32bit (MSVC 2017)</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5101.win64_msvc2017_winrt_x86_kit</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/Documents/Git/build-fannyapp-Qt_5_10_1_for_UWP_32bit_MSVC_2017-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/Documents/Git/build-fannyapp-Qt_5_10_1_for_UWP_32bit_MSVC_2017-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/Documents/Git/build-fannyapp-Qt_5_10_1_for_UWP_32bit_MSVC_2017-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">windeployqt ausführen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">WinRt.BuildStep.Deploy</value>
|
||||
<value type="QString" key="WinRt.BuildStep.Deploy.Arguments">--qmldir D:\Documents\Git\fanny-app</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">windeployqt ausführen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">WinRTAppxDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
||||
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
||||
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
||||
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
||||
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
||||
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||
<value type="int">0</value>
|
||||
<value type="int">1</value>
|
||||
<value type="int">2</value>
|
||||
<value type="int">3</value>
|
||||
<value type="int">4</value>
|
||||
<value type="int">5</value>
|
||||
<value type="int">6</value>
|
||||
<value type="int">7</value>
|
||||
<value type="int">8</value>
|
||||
<value type="int">9</value>
|
||||
<value type="int">10</value>
|
||||
<value type="int">11</value>
|
||||
<value type="int">12</value>
|
||||
<value type="int">13</value>
|
||||
<value type="int">14</value>
|
||||
</valuelist>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">App-Paket ausführen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">WinRt.WinRtRunConfiguration:D:/Documents/Git/fanny-app/fannyapp.pro</value>
|
||||
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="WinRtRunConfigurationArgumentsId"></value>
|
||||
<value type="bool" key="WinRtRunConfigurationUninstallAfterStopId">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.2</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Android für armeabi-v7a (GCC 4.9, Qt 5.10.1 for Android armv7)</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Android für armeabi-v7a (GCC 4.9, Qt 5.10.1 for Android armv7)</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{944fd98d-a247-470d-994b-ce639c60daa2}</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/Documents/Git/build-fannyapp-Android_f_r_armeabi_v7a_GCC_4_9_Qt_5_10_1_for_Android_armv7-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.2">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Anwendungsdaten kopieren</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.AndroidPackageInstallationStep</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.3">
|
||||
<value type="QString" key="BuildTargetSdk">android-27</value>
|
||||
<value type="QString" key="KeystoreLocation"></value>
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Android-APK erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.AndroidBuildApkStep</value>
|
||||
<value type="bool" key="UseMinistro">false</value>
|
||||
<value type="bool" key="VerboseOutput">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">4</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/Documents/Git/build-fannyapp-Android_f_r_armeabi_v7a_GCC_4_9_Qt_5_10_1_for_Android_armv7-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.2">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Anwendungsdaten kopieren</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.AndroidPackageInstallationStep</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.3">
|
||||
<value type="QString" key="BuildTargetSdk">android-27</value>
|
||||
<value type="QString" key="KeystoreLocation"></value>
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Android-APK erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.AndroidBuildApkStep</value>
|
||||
<value type="bool" key="UseMinistro">false</value>
|
||||
<value type="bool" key="VerboseOutput">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">4</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/Documents/Git/build-fannyapp-Android_f_r_armeabi_v7a_GCC_4_9_Qt_5_10_1_for_Android_armv7-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.2">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Anwendungsdaten kopieren</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.AndroidPackageInstallationStep</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.3">
|
||||
<value type="QString" key="BuildTargetSdk">android-27</value>
|
||||
<value type="QString" key="KeystoreLocation"></value>
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Android-APK erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.AndroidBuildApkStep</value>
|
||||
<value type="bool" key="UseMinistro">false</value>
|
||||
<value type="bool" key="VerboseOutput">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">4</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment auf Android-Gerät</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.AndroidDeployQtStep</value>
|
||||
<value type="bool" key="UninstallPreviousPackage">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment auf Android-Gerät</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.AndroidDeployConfiguration2</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
||||
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
||||
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
||||
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
||||
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
||||
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||
<value type="int">0</value>
|
||||
<value type="int">1</value>
|
||||
<value type="int">2</value>
|
||||
<value type="int">3</value>
|
||||
<value type="int">4</value>
|
||||
<value type="int">5</value>
|
||||
<value type="int">6</value>
|
||||
<value type="int">7</value>
|
||||
<value type="int">8</value>
|
||||
<value type="int">9</value>
|
||||
<value type="int">10</value>
|
||||
<value type="int">11</value>
|
||||
<value type="int">12</value>
|
||||
<value type="int">13</value>
|
||||
<value type="int">14</value>
|
||||
</valuelist>
|
||||
<valuelist type="QVariantList" key="Android.AmStartArgsKey"/>
|
||||
<valuelist type="QVariantList" key="Android.PostFinishShellCmdListKey"/>
|
||||
<valuelist type="QVariantList" key="Android.PreStartShellCmdListKey"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">fannyapp</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">fannyapp</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.AndroidRunConfiguration:D:/Documents/Git/fanny-app/fannyapp.pro</value>
|
||||
<value type="QString" key="QMakeProjectManager.QmakeAndroidRunConfiguration.ProFile">fannyapp.pro</value>
|
||||
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="int">3</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">18</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">18</value>
|
||||
</data>
|
||||
</qtcreator>
|
BIN
favicon.xcf
|
@ -1,8 +1,12 @@
|
|||
#ifndef APPSETTINGS_H
|
||||
#define APPSETTINGS_H
|
||||
|
||||
#include <QFile>
|
||||
#include <QObject>
|
||||
#include <QtDebug>
|
||||
#include <QSettings>
|
||||
#include <QJsonArray>
|
||||
#include <QJsonDocument>
|
||||
#include <QStandardPaths>
|
||||
|
||||
class AppSettings : public QObject
|
||||
|
@ -15,7 +19,14 @@ public:
|
|||
Q_INVOKABLE QString loadSetting(const QString &key);
|
||||
Q_INVOKABLE void writeSetting(const QString &key, const QVariant &variant);
|
||||
|
||||
QList<QStringList> readFilters();
|
||||
void writeFilters(QList<QStringList> list);
|
||||
|
||||
Q_INVOKABLE QStringList readFiltersQml();
|
||||
Q_INVOKABLE void writeFiltersQml(QStringList);
|
||||
|
||||
QSettings *settingsManager;
|
||||
QFile * filtersFile;
|
||||
|
||||
signals:
|
||||
|
||||
|
|
48
headers/eventmodel.h
Normal file
|
@ -0,0 +1,48 @@
|
|||
#ifndef EVENTMODEL_H
|
||||
#define EVENTMODEL_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QAbstractListModel>
|
||||
#include "headers/serverconn.h"
|
||||
|
||||
class EventModel : public QAbstractListModel
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
EventModel(QObject *parent = nullptr);
|
||||
~EventModel();
|
||||
|
||||
enum DayRole {
|
||||
GradeRole = Qt::DisplayRole,
|
||||
HourRole,
|
||||
ReplaceRole,
|
||||
SubjectRole,
|
||||
RoomRole,
|
||||
ToRole,
|
||||
TextRole
|
||||
};
|
||||
Q_ENUM(DayRole)
|
||||
|
||||
int rowCount(const QModelIndex & = QModelIndex()) const;
|
||||
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
|
||||
QHash<int, QByteArray> roleNames() const;
|
||||
|
||||
Q_INVOKABLE QStringList getHeader();
|
||||
|
||||
Q_INVOKABLE QVariantMap get(int row) const;
|
||||
|
||||
private:
|
||||
struct Day {
|
||||
QString grade;
|
||||
QString hour;
|
||||
QString replace;
|
||||
QString subject;
|
||||
QString room;
|
||||
QString to;
|
||||
QString text;
|
||||
};
|
||||
|
||||
QList<Day> m_events;
|
||||
};
|
||||
|
||||
#endif // EVENTMODEL_H
|
39
headers/filtermodel.h
Normal file
|
@ -0,0 +1,39 @@
|
|||
#ifndef FILTERMODEL_H
|
||||
#define FILTERMODEL_H
|
||||
|
||||
#include <QAbstractListModel>
|
||||
#include <QtDebug>
|
||||
#include "serverconn.h"
|
||||
|
||||
class FilterModel : public QAbstractListModel
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit FilterModel(QObject *parent = nullptr);
|
||||
|
||||
enum FilterRole {
|
||||
GradeRole = Qt::DisplayRole,
|
||||
ClassLetterRole,
|
||||
RoleRole
|
||||
};
|
||||
Q_ENUM(FilterRole)
|
||||
|
||||
int rowCount(const QModelIndex & = QModelIndex()) const;
|
||||
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
|
||||
QHash<int, QByteArray> roleNames() const;
|
||||
|
||||
Q_INVOKABLE QVariantMap get(int row) const;
|
||||
Q_INVOKABLE void append(const QString &grade, const QString &classLetter, const QString &role);
|
||||
Q_INVOKABLE void remove(int row);
|
||||
|
||||
private:
|
||||
struct Filter {
|
||||
QString grade;
|
||||
QString classLetter;
|
||||
QString role;
|
||||
};
|
||||
|
||||
QList<Filter> m_filters;
|
||||
};
|
||||
|
||||
#endif // FILTERMODEL_H
|
44
headers/foodplanmodel.h
Normal file
|
@ -0,0 +1,44 @@
|
|||
#ifndef FOODPLANMODEL_H
|
||||
#define FOODPLANMODEL_H
|
||||
|
||||
#include <QAbstractListModel>
|
||||
#include <QtDebug>
|
||||
#include "serverconn.h"
|
||||
|
||||
class FoodPlanModel : public QAbstractListModel
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit FoodPlanModel(QObject *parent = nullptr);
|
||||
~FoodPlanModel();
|
||||
|
||||
enum DishRole {
|
||||
CookteamRole = Qt::DisplayRole,
|
||||
DateRole,
|
||||
MainDishRole,
|
||||
MainDishVegRole,
|
||||
GarnishRole,
|
||||
DessertRole
|
||||
};
|
||||
Q_ENUM(DishRole)
|
||||
|
||||
int rowCount(const QModelIndex & = QModelIndex()) const;
|
||||
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
|
||||
QHash<int, QByteArray> roleNames() const;
|
||||
|
||||
Q_INVOKABLE QVariantMap get(int row) const;
|
||||
|
||||
private:
|
||||
struct Dish {
|
||||
QString cookteam;
|
||||
QString date;
|
||||
QString mainDish;
|
||||
QString mainDishVeg;
|
||||
QString garnish;
|
||||
QString dessert;
|
||||
};
|
||||
|
||||
QList<Dish> m_foodPlan;
|
||||
};
|
||||
|
||||
#endif // FOODPLANMODEL_H
|
|
@ -4,6 +4,9 @@
|
|||
#include <QObject>
|
||||
#include <QDir>
|
||||
#include <QUrl>
|
||||
#include <QtXml>
|
||||
#include <QTimer>
|
||||
|
||||
#include <QtNetwork>
|
||||
#include <QAuthenticator>
|
||||
#include <QDesktopServices>
|
||||
|
@ -11,6 +14,10 @@
|
|||
|
||||
#include "headers/appsettings.h"
|
||||
|
||||
#ifdef Q_OS_ANDROID
|
||||
#include <QtAndroidExtras>
|
||||
#endif
|
||||
|
||||
|
||||
typedef struct strReturnData{
|
||||
int status_code;
|
||||
|
@ -20,44 +27,51 @@ typedef struct strReturnData{
|
|||
class ServerConn : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(QString state READ getState NOTIFY stateChanged)
|
||||
|
||||
public:
|
||||
private:
|
||||
QString state;
|
||||
// can be: loggedIn ; notLoggedIn
|
||||
QString username;
|
||||
QString password;
|
||||
QNetworkAccessManager *networkManager;
|
||||
QNetworkAccessManager *refreshNetworkManager;
|
||||
QTimer *checkConnTimer;
|
||||
float progress;
|
||||
int authErrorCount;
|
||||
|
||||
ReturnData_t senddata(QUrl serviceUrl, QUrlQuery postData);
|
||||
|
||||
private slots:
|
||||
void updateProgress(qint64 read, qint64 total);
|
||||
|
||||
void setState(QString state);
|
||||
|
||||
public:
|
||||
explicit ServerConn(QObject *parent = nullptr);
|
||||
~ServerConn();
|
||||
Q_INVOKABLE QString login(QString username, QString password, bool permanent);
|
||||
|
||||
public slots:
|
||||
Q_INVOKABLE int login(QString username, QString password, bool permanent);
|
||||
Q_INVOKABLE int logout();
|
||||
Q_INVOKABLE QString getDay(QString day);
|
||||
Q_INVOKABLE int checkConn();
|
||||
Q_INVOKABLE float getProgress();
|
||||
Q_INVOKABLE int getFoodPlan();
|
||||
Q_INVOKABLE QVariantMap getFoodPlanData(int index);
|
||||
ReturnData_t senddata(QUrl serviceUrl, QUrlQuery postData);
|
||||
Q_INVOKABLE int getEvents(QString day);
|
||||
|
||||
Q_INVOKABLE QString getState();
|
||||
|
||||
signals:
|
||||
void stateChanged(QString newState);
|
||||
|
||||
public slots:
|
||||
Q_INVOKABLE void updateProgress(qint64 read, qint64 total);
|
||||
|
||||
private:
|
||||
|
||||
struct Day
|
||||
{
|
||||
QString Cookteam;
|
||||
QString Date;
|
||||
QString Main;
|
||||
QString Main_veg;
|
||||
QString Salad;
|
||||
QString Dessert;
|
||||
};
|
||||
|
||||
public:
|
||||
QList<QList<QString>> m_weekplan;
|
||||
QList<QStringList> m_events;
|
||||
QStringList m_eventHeader;
|
||||
|
||||
|
||||
};
|
||||
extern ServerConn * pGlobalServConn;
|
||||
|
||||
#endif // SERVERCONN_H
|
||||
|
|
|
@ -1,69 +0,0 @@
|
|||
import QtQuick 2.6
|
||||
import QtQuick.Controls 2.1
|
||||
import QtQuick.Controls.Material 2.1
|
||||
|
||||
ToolBar {
|
||||
id: toolBar
|
||||
property bool showErrorBar: true
|
||||
Material.theme: Material.Light
|
||||
Rectangle {
|
||||
id: errorField
|
||||
width: parent.width
|
||||
height: 30
|
||||
enabled: window.is_error & stackView.currentItem.objectName !== "LoginPage" & showErrorBar
|
||||
anchors.top: parent.bottom
|
||||
|
||||
color: "red"
|
||||
onEnabledChanged: {
|
||||
if(enabled){
|
||||
toolBar.state = 'moveIn'
|
||||
}
|
||||
else {
|
||||
toolBar.state = 'moveOut'
|
||||
}
|
||||
}
|
||||
|
||||
MouseArea { anchors.fill: parent; onClicked: {
|
||||
toolBar.state = 'moveOut'
|
||||
|
||||
console.log("clicked")
|
||||
}
|
||||
}
|
||||
|
||||
Text {
|
||||
anchors {
|
||||
horizontalCenter: parent.horizontalCenter
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
id: errorText
|
||||
font.family: "Helvetica"
|
||||
color: "White"
|
||||
font.pointSize: 8
|
||||
visible: parent.height !== 0
|
||||
text: window.error
|
||||
}
|
||||
}
|
||||
|
||||
states: [
|
||||
State {
|
||||
name: "moveOut"
|
||||
PropertyChanges { target: errorField; height: 0 }
|
||||
},
|
||||
State {
|
||||
name: "moveIn"
|
||||
PropertyChanges { target: errorField; height: 30 }
|
||||
}
|
||||
]
|
||||
|
||||
transitions: [
|
||||
Transition {
|
||||
to: "moveOut"
|
||||
NumberAnimation { properties: "height"; easing.type: Easing.InOutQuad; duration: 200 }
|
||||
},
|
||||
Transition {
|
||||
to: "moveIn"
|
||||
NumberAnimation { properties: "height"; easing.type: Easing.InOutQuad; duration: 200 }
|
||||
}
|
||||
]
|
||||
}
|
92
qml/Components/AppToolBar.qml
Normal file
|
@ -0,0 +1,92 @@
|
|||
import QtQuick 2.6
|
||||
import QtQuick.Controls 2.1
|
||||
import QtGraphicalEffects 1.0
|
||||
|
||||
Item {
|
||||
id: control
|
||||
height: 50
|
||||
property bool showErrorBar: true
|
||||
|
||||
RectangularGlow {
|
||||
id: toolBarEffect
|
||||
glowRadius: 3
|
||||
spread: 0.2
|
||||
color: "black"
|
||||
opacity: 0.3
|
||||
anchors.fill: toolBar
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: toolBar
|
||||
color: "white"
|
||||
anchors.fill: parent
|
||||
|
||||
// anchors {
|
||||
// top: parent.top
|
||||
// left: parent.left
|
||||
// right: parent.right
|
||||
// topMargin: -60
|
||||
// }
|
||||
|
||||
Rectangle {
|
||||
id: errorField
|
||||
width: parent.width
|
||||
height: 30
|
||||
enabled: app.is_error & app.state !== "notLoggedIn" & control.showErrorBar
|
||||
anchors.top: parent.bottom
|
||||
|
||||
color: "red"
|
||||
onEnabledChanged: {
|
||||
if(enabled){
|
||||
toolBar.state = 'moveIn'
|
||||
}
|
||||
else {
|
||||
toolBar.state = 'moveOut'
|
||||
}
|
||||
}
|
||||
|
||||
MouseArea { anchors.fill: parent; onClicked: {
|
||||
toolBar.state = 'moveOut'
|
||||
|
||||
console.log("clicked")
|
||||
}
|
||||
}
|
||||
|
||||
Text {
|
||||
anchors {
|
||||
horizontalCenter: parent.horizontalCenter
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
id: errorText
|
||||
font.family: "Helvetica"
|
||||
color: "White"
|
||||
font.pointSize: 8
|
||||
visible: parent.height !== 0
|
||||
text: app.error
|
||||
}
|
||||
}
|
||||
|
||||
states: [
|
||||
State {
|
||||
name: "moveOut"
|
||||
PropertyChanges { target: errorField; height: 0 }
|
||||
},
|
||||
State {
|
||||
name: "moveIn"
|
||||
PropertyChanges { target: errorField; height: 30 }
|
||||
}
|
||||
]
|
||||
|
||||
transitions: [
|
||||
Transition {
|
||||
to: "moveOut"
|
||||
NumberAnimation { properties: "height"; easing.type: Easing.InOutQuad; duration: 200 }
|
||||
},
|
||||
Transition {
|
||||
to: "moveIn"
|
||||
NumberAnimation { properties: "height"; easing.type: Easing.InOutQuad; duration: 200 }
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
79
qml/Components/EventView.qml
Normal file
|
@ -0,0 +1,79 @@
|
|||
import Backend 1.0
|
||||
import QtQuick 2.9
|
||||
import QtQuick.Controls 2.4
|
||||
|
||||
FannyDataListView {
|
||||
id: eventList
|
||||
|
||||
anchors.fill: parent
|
||||
|
||||
model: EventModel {
|
||||
id: foodPlanModel
|
||||
}
|
||||
|
||||
|
||||
delegate: Button {
|
||||
id: delegate
|
||||
|
||||
width: eventList.width
|
||||
height: contentCol.height + 10
|
||||
|
||||
Column {
|
||||
id: contentCol
|
||||
|
||||
anchors {
|
||||
top: parent.top
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
margins: 10
|
||||
}
|
||||
|
||||
height: childrenRect.height + 10
|
||||
|
||||
spacing: 1
|
||||
|
||||
Label {
|
||||
id: gradeLa
|
||||
// label for the grade
|
||||
|
||||
font.bold: true
|
||||
font.pixelSize: hourReplaceSubjectRoomLa.font.pixelSize * 1.5
|
||||
|
||||
width: parent.width - 10
|
||||
wrapMode: Label.Wrap
|
||||
|
||||
text: grade
|
||||
}
|
||||
|
||||
Label {
|
||||
id: hourReplaceSubjectRoomLa
|
||||
// label for the hour, replacement, subject and room
|
||||
|
||||
width: parent.width - 10
|
||||
wrapMode: Label.Wrap
|
||||
|
||||
text: hour + ( replace === "" ? "": ( " | "
|
||||
+ replace + ( subject === "" ? "": ( " | "
|
||||
+ subject + ( room === "" ? "": ( " | "
|
||||
+ room ) ) ) ) ) )
|
||||
}
|
||||
|
||||
Label {
|
||||
id: toTextLa
|
||||
// label for the new room (to) and the additional text (text)
|
||||
|
||||
width: parent.width - 10
|
||||
wrapMode: Label.Wrap
|
||||
|
||||
font.pixelSize: gradeLa.font.pixelSize
|
||||
font.bold: true
|
||||
|
||||
visible: text !== ""
|
||||
|
||||
text: to !== "" && model.text !== "" ? to + " | " + model.text:model.to + model.text
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
107
qml/Components/FancyButton.qml
Normal file
|
@ -0,0 +1,107 @@
|
|||
import QtQuick 2.9
|
||||
import QtQuick.Controls 2.4
|
||||
import QtGraphicalEffects 1.0
|
||||
|
||||
Button {
|
||||
id: control
|
||||
|
||||
property string image
|
||||
property real imageScale: 1
|
||||
|
||||
background: Item {
|
||||
id: controlBackgroundContainer
|
||||
|
||||
scale: control.pressed ? 0.8:1
|
||||
|
||||
Behavior on scale {
|
||||
PropertyAnimation {
|
||||
duration: 100
|
||||
}
|
||||
}
|
||||
|
||||
RectangularGlow {
|
||||
id: effect
|
||||
glowRadius: 0.001
|
||||
spread: 0.2
|
||||
color: "black"
|
||||
opacity: 1
|
||||
cornerRadius: controlBackground.radius
|
||||
anchors.fill: controlBackground
|
||||
scale: 0.75
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: controlBackground
|
||||
|
||||
anchors.fill: parent
|
||||
|
||||
radius: height * 0.5
|
||||
|
||||
Image {
|
||||
id: buttonIcon
|
||||
source: control.image
|
||||
|
||||
anchors.centerIn: parent
|
||||
height: parent.height * 0.5
|
||||
width: height
|
||||
|
||||
mipmap: true
|
||||
|
||||
fillMode: Image.PreserveAspectFit
|
||||
|
||||
scale: control.imageScale
|
||||
|
||||
Behavior on scale {
|
||||
PropertyAnimation {
|
||||
duration: 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
/*
|
||||
background: Image {
|
||||
id: smorgenBackground
|
||||
source: "qrc:/circle.png"
|
||||
height: control.height
|
||||
width: height
|
||||
|
||||
scale: control.pressed ? 0.8:1
|
||||
|
||||
Behavior on scale {
|
||||
PropertyAnimation {
|
||||
duration: 100
|
||||
}
|
||||
}
|
||||
|
||||
mipmap: true
|
||||
smooth: true
|
||||
|
||||
fillMode: Image.PreserveAspectFit
|
||||
|
||||
Image {
|
||||
id: smorgenImage
|
||||
source: control.image
|
||||
|
||||
anchors.centerIn: parent
|
||||
height: parent.height * 0.5
|
||||
width: height
|
||||
|
||||
mipmap: true
|
||||
smooth: true
|
||||
|
||||
fillMode: Image.PreserveAspectFit
|
||||
|
||||
scale: control.imageScale
|
||||
|
||||
Behavior on scale {
|
||||
PropertyAnimation {
|
||||
duration: 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
52
qml/Components/FannyDataListView.qml
Normal file
|
@ -0,0 +1,52 @@
|
|||
import Backend 1.0
|
||||
import QtQuick 2.9
|
||||
import QtQuick.Controls 2.4
|
||||
|
||||
ListView {
|
||||
id: control
|
||||
|
||||
property int status: -1
|
||||
|
||||
signal refresh()
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.margins: 10
|
||||
anchors.rightMargin: 14
|
||||
|
||||
ScrollBar.vertical: ScrollBar {
|
||||
parent: control.parent
|
||||
|
||||
anchors {
|
||||
top: parent.top
|
||||
right: parent.right
|
||||
bottom: parent.bottom
|
||||
margins: 10
|
||||
rightMargin: 3
|
||||
}
|
||||
|
||||
width: 8
|
||||
|
||||
active: true
|
||||
}
|
||||
|
||||
onContentYChanged: {
|
||||
if(contentY < -125){
|
||||
control.refresh()
|
||||
}
|
||||
}
|
||||
|
||||
InfoArea {
|
||||
id: infoArea
|
||||
|
||||
anchors {
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
top: parent.top
|
||||
margins: app.landscape() ? parent.width * 0.4:parent.width * 0.3
|
||||
topMargin: parent.height*( status === 901 ? 0.6:0.5) - height * 0.8
|
||||
}
|
||||
|
||||
excludedCodes: [200, 902]
|
||||
errorCode: control.status
|
||||
}
|
||||
}
|
133
qml/Components/FoodPlanView.qml
Normal file
|
@ -0,0 +1,133 @@
|
|||
import Backend 1.0
|
||||
import QtQuick 2.9
|
||||
import QtQuick.Controls 2.4
|
||||
|
||||
FannyDataListView {
|
||||
id: foodList
|
||||
|
||||
anchors.fill: parent
|
||||
|
||||
model: FoodPlanModel {
|
||||
id: foodPlanModel
|
||||
}
|
||||
|
||||
delegate: Button {
|
||||
id: delegate
|
||||
|
||||
width: foodList.width
|
||||
height: contentCol.height + 10
|
||||
|
||||
Column {
|
||||
id: contentCol
|
||||
|
||||
anchors {
|
||||
top: parent.top
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
margins: 10
|
||||
}
|
||||
|
||||
height: childrenRect.height + 10
|
||||
|
||||
spacing: 2
|
||||
|
||||
Label {
|
||||
id: cookteamLa
|
||||
// label for the cookteam
|
||||
|
||||
width: parent.width
|
||||
wrapMode: Label.Wrap
|
||||
|
||||
font.bold: true
|
||||
|
||||
text: cookteam
|
||||
}
|
||||
|
||||
Label {
|
||||
id: dateLa
|
||||
// label for the date
|
||||
|
||||
width: parent.width
|
||||
wrapMode: Label.Wrap
|
||||
|
||||
font.bold: true
|
||||
|
||||
text: date
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
width: parent.width
|
||||
height: 2
|
||||
color: "grey"
|
||||
}
|
||||
|
||||
Label {
|
||||
id: mainDishLa
|
||||
// label for the main dish
|
||||
|
||||
width: parent.width
|
||||
wrapMode: Label.Wrap
|
||||
|
||||
text: mainDish
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
width: parent.width / 10
|
||||
height: mainDishVegLa.text!=""? 1:0
|
||||
color: "grey"
|
||||
}
|
||||
|
||||
Label {
|
||||
id: mainDishVegLa
|
||||
// label for the vegetarian main dish
|
||||
|
||||
width: parent.width
|
||||
height: text!=""? undefined:0
|
||||
|
||||
wrapMode: Label.Wrap
|
||||
|
||||
text: mainDishVeg
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
width: parent.width / 10
|
||||
height: garnishLa.text!=""? 1:0
|
||||
color: "grey"
|
||||
}
|
||||
|
||||
Label {
|
||||
id: garnishLa
|
||||
// label for the garnish
|
||||
|
||||
width: parent.width
|
||||
height: text!=""? undefined:0
|
||||
|
||||
wrapMode: Label.Wrap
|
||||
|
||||
text: garnish
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
width: parent.width / 10
|
||||
height: dessertLa.text!=""? 1:0
|
||||
color: "grey"
|
||||
}
|
||||
|
||||
Label {
|
||||
id: dessertLa
|
||||
// label for the dessert
|
||||
|
||||
width: parent.width
|
||||
height: text!=""? undefined:0
|
||||
|
||||
wrapMode: Label.Wrap
|
||||
|
||||
text: dessert
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
80
qml/Components/InfoArea.qml
Normal file
|
@ -0,0 +1,80 @@
|
|||
import QtQuick 2.9
|
||||
import QtQuick.Controls 2.4
|
||||
|
||||
Item {
|
||||
id: infoArea
|
||||
|
||||
property int alertLevel: app.getErrorInfo(infoArea.errorCode)[0]
|
||||
// 0 - ok
|
||||
// 1 - info
|
||||
// 2 - error
|
||||
property int errorCode: -1
|
||||
property var excludedCodes: []
|
||||
|
||||
visible: !(excludedCodes.indexOf(errorCode) >= 0)
|
||||
|
||||
height: childrenRect.height
|
||||
|
||||
Rectangle {
|
||||
|
||||
radius: height * 0.5
|
||||
width: parent.width
|
||||
height: width
|
||||
|
||||
color: "transparent"
|
||||
border.width: 5
|
||||
border.color: infoArea.alertLevel > 0 ? infoArea.alertLevel > 1 ? "red":"grey" : "green"
|
||||
|
||||
opacity: infoArea.errorCode !== 200 && infoArea.errorCode !== (-1) ? 1:0
|
||||
|
||||
Behavior on opacity {
|
||||
NumberAnimation {
|
||||
duration: 500
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
anchors.centerIn: parent
|
||||
font.pixelSize: parent.height * 0.8
|
||||
text: infoArea.alertLevel > 1 ? "!":"i"
|
||||
color: infoArea.alertLevel > 0 ? infoArea.alertLevel > 1 ? "red":"grey" : "green"
|
||||
}
|
||||
|
||||
Label {
|
||||
id: errorShortDescription
|
||||
anchors {
|
||||
horizontalCenter: parent.horizontalCenter
|
||||
top: parent.bottom
|
||||
margins: parent.height * 0.1
|
||||
}
|
||||
|
||||
width: app.width * 0.8
|
||||
|
||||
wrapMode: Label.Wrap
|
||||
|
||||
horizontalAlignment: Label.AlignHCenter
|
||||
|
||||
font.pixelSize: errorLongDescription.font.pixelSize * 1.8
|
||||
text: app.getErrorInfo(infoArea.errorCode)[1]
|
||||
}
|
||||
|
||||
Label {
|
||||
id: errorLongDescription
|
||||
anchors {
|
||||
horizontalCenter: parent.horizontalCenter
|
||||
top: errorShortDescription.bottom
|
||||
margins: parent.height * 0.1
|
||||
}
|
||||
|
||||
width: app.width * 0.8
|
||||
|
||||
wrapMode: Label.Wrap
|
||||
|
||||
horizontalAlignment: Label.AlignHCenter
|
||||
|
||||
text: app.getErrorInfo(infoArea.errorCode)[2]
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
65
qml/Components/SettingsDelegate.qml
Normal file
|
@ -0,0 +1,65 @@
|
|||
import QtQuick 2.0
|
||||
import QtQuick.Controls 2.4
|
||||
|
||||
ItemDelegate {
|
||||
id: control
|
||||
|
||||
property string title: ""
|
||||
property string description: ""
|
||||
property bool showForwardIcon: true
|
||||
|
||||
height: 10 + shortDescription.height + 2 + longDescription.height + 10
|
||||
|
||||
Label {
|
||||
id: shortDescription
|
||||
|
||||
anchors {
|
||||
top: parent.top
|
||||
left: parent.left
|
||||
margins: 10
|
||||
}
|
||||
|
||||
font.pixelSize: longDescription.font.pixelSize * 1.4
|
||||
|
||||
text: control.title
|
||||
|
||||
}
|
||||
|
||||
Label {
|
||||
id: longDescription
|
||||
|
||||
anchors {
|
||||
top: shortDescription.bottom
|
||||
topMargin: 2
|
||||
left: parent.left
|
||||
leftMargin: 10
|
||||
}
|
||||
|
||||
width: parent.width * 0.85
|
||||
|
||||
wrapMode: Label.Wrap
|
||||
|
||||
text: control.description
|
||||
}
|
||||
|
||||
Image {
|
||||
id: forwardIcon
|
||||
|
||||
visible: control.showForwardIcon
|
||||
|
||||
anchors {
|
||||
verticalCenter: parent.verticalCenter
|
||||
right: parent.right
|
||||
rightMargin: 10
|
||||
}
|
||||
|
||||
height: parent.height * 0.4
|
||||
|
||||
rotation: 180
|
||||
|
||||
fillMode: Image.PreserveAspectFit
|
||||
|
||||
source: "/graphics/icons/backDark.png"
|
||||
}
|
||||
|
||||
}
|
|
@ -1,215 +0,0 @@
|
|||
import QtQuick 2.9
|
||||
import QtQuick.Controls 2.2
|
||||
import QtGraphicalEffects 1.0
|
||||
|
||||
Page {
|
||||
id:root
|
||||
//anchors.fill: parent
|
||||
property bool cookplanChanged
|
||||
title: qsTr("Speiseplan")
|
||||
property string icon: "qrc:/graphics/TreffpunktFannyLogo.png"
|
||||
property string link: "http://www.treffpunkt-fanny.de"
|
||||
|
||||
// Image{
|
||||
// source: "qrc:/graphics/chat_background.jpg";
|
||||
// height: parent.height
|
||||
// width: parent.width
|
||||
// fillMode: Image.Tile
|
||||
// horizontalAlignment: Image.AlignLeft
|
||||
// verticalAlignment: Image.AlignTop
|
||||
// }
|
||||
// LinearGradient {
|
||||
// anchors.fill: parent
|
||||
// start: Qt.point(0, 0)
|
||||
// end: Qt.point(0, parent.height)
|
||||
// gradient: Gradient {
|
||||
// GradientStop { position: 0.0; color: "#4db2b3" }
|
||||
// GradientStop { position: 1.0; color: "#8f4dae" }
|
||||
// }
|
||||
// }
|
||||
|
||||
Timer {
|
||||
id: firstLoadTimer
|
||||
interval: 1;
|
||||
running: true
|
||||
repeat: false
|
||||
|
||||
onTriggered: {
|
||||
_cppServerConn.getFoodPlan()
|
||||
cookplanChanged = true
|
||||
}
|
||||
}
|
||||
|
||||
ScrollView {
|
||||
id:scroll
|
||||
anchors.fill: parent
|
||||
ListView {
|
||||
id: listView
|
||||
//width: 514
|
||||
model: 8
|
||||
spacing: 0
|
||||
property var today: new Date
|
||||
anchors {
|
||||
right: parent.right
|
||||
left: parent.left
|
||||
top: parent.top
|
||||
bottom: parent.bottom
|
||||
leftMargin: 5
|
||||
rightMargin: 5
|
||||
topMargin: 3
|
||||
}
|
||||
|
||||
delegate: Button {
|
||||
//text: getText(index, "cookteam")
|
||||
width: listView.width
|
||||
id: delegate
|
||||
height: visible ? cookteam.height + date.height + main_dish.height + main_dish_veg.height + garnish.height + dessert.height + spacer.height + cust_spacing*9 + 5:0
|
||||
visible: listView.isDayVisible(index)
|
||||
|
||||
property int cust_spacing: 5
|
||||
|
||||
Label {
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 10
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 10
|
||||
font.bold: true
|
||||
id: cookteam
|
||||
text: _cppServerConn.getFoodPlanData(index).cookteam
|
||||
width: parent.width - 10
|
||||
wrapMode: Label.Wrap
|
||||
height: text!=""? undefined:0
|
||||
}
|
||||
Label {
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 10
|
||||
anchors.top: cookteam.bottom
|
||||
font.bold: true
|
||||
id: date
|
||||
text: listView.getDateString(index)
|
||||
width: parent.width - 10
|
||||
wrapMode: Label.Wrap
|
||||
}
|
||||
Rectangle {
|
||||
anchors.top: date.bottom
|
||||
anchors.topMargin: cust_spacing
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 10
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: 10
|
||||
height: 2
|
||||
color: "grey"
|
||||
|
||||
}
|
||||
|
||||
Label {
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 10
|
||||
anchors.top: date.bottom
|
||||
anchors.topMargin: cust_spacing * 2
|
||||
width: parent.width - 10
|
||||
wrapMode: Label.Wrap
|
||||
id: main_dish
|
||||
text: _cppServerConn.getFoodPlanData(index).main_dish
|
||||
height: text!=""? undefined:0
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
anchors.top: main_dish.bottom
|
||||
anchors.topMargin: cust_spacing
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 10
|
||||
width: parent.width / 10
|
||||
height: main_dish_veg.text!=""? 1:0
|
||||
color: "grey"
|
||||
|
||||
}
|
||||
|
||||
Label {
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 10
|
||||
anchors.top: main_dish.bottom
|
||||
anchors.topMargin: cust_spacing * 2
|
||||
id: main_dish_veg
|
||||
text: _cppServerConn.getFoodPlanData(index).main_dish_veg
|
||||
width: parent.width - 10
|
||||
wrapMode: Label.Wrap
|
||||
height: text!=""? undefined:0
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
anchors.top: main_dish_veg.bottom
|
||||
anchors.topMargin: cust_spacing
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 10
|
||||
width: parent.width / 10
|
||||
height: garnish.text!=""? 1:0
|
||||
color: "grey"
|
||||
}
|
||||
|
||||
Label {
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 10
|
||||
anchors.top: main_dish_veg.bottom
|
||||
anchors.topMargin: cust_spacing * 2
|
||||
id: garnish
|
||||
text: _cppServerConn.getFoodPlanData(index).garnish
|
||||
width: parent.width - 10
|
||||
wrapMode: Label.Wrap
|
||||
height: text!=""? undefined:0
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
anchors.top: garnish.bottom
|
||||
anchors.topMargin: cust_spacing
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 10
|
||||
width: parent.width / 10
|
||||
height: dessert.text!=""? 1:0
|
||||
color: "grey"
|
||||
|
||||
}
|
||||
|
||||
Label {
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 10
|
||||
anchors.top: garnish.bottom
|
||||
anchors.topMargin: cust_spacing * 2
|
||||
id: dessert
|
||||
text: _cppServerConn.getFoodPlanData(index).dessert
|
||||
width: parent.width - 10
|
||||
wrapMode: Label.Wrap
|
||||
height: text!=""? undefined:0
|
||||
}
|
||||
|
||||
Label {
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 10
|
||||
anchors.top: dessert.bottom
|
||||
anchors.topMargin: cust_spacing
|
||||
id: spacer
|
||||
text: ""
|
||||
}
|
||||
}
|
||||
|
||||
function getDateString(index){
|
||||
var date = _cppServerConn.getFoodPlanData(index).date
|
||||
//console.log(date)
|
||||
if(date.getDate() === today.getDate()){
|
||||
return("Heute")
|
||||
}
|
||||
else if(date.getDate() === today.getDate() + 1 || (date.getDate() === 1 && date.getMonth() === today.getMonth() + 1)){
|
||||
return("Morgen")
|
||||
}
|
||||
else {
|
||||
return(Qt.formatDateTime(_cppServerConn.getFoodPlanData(index).date, "dddd, d.M.yy"))
|
||||
}
|
||||
|
||||
}
|
||||
function isDayVisible(index){
|
||||
var date = _cppServerConn.getFoodPlanData(index).date
|
||||
return( date.getDate() >= today.getDate() && date.getMonth() >= today.getMonth())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
100
qml/Forms/EventForm.qml
Normal file
|
@ -0,0 +1,100 @@
|
|||
import QtQuick 2.9
|
||||
import QtQuick.Controls 2.2
|
||||
import QtGraphicalEffects 1.0
|
||||
import "../Components"
|
||||
|
||||
Page {
|
||||
id: root
|
||||
//anchors.fill: parent
|
||||
property string day
|
||||
title: qsTr("Vertretungsplan")
|
||||
property string icon: "qrc:/graphics/FannyLogo_small.png"
|
||||
property string link: "http://www.fanny-leicht.de/j34"
|
||||
property int status: -1
|
||||
|
||||
signal opened()
|
||||
|
||||
onOpened: {
|
||||
}
|
||||
|
||||
// Image{
|
||||
// source: "qrc:/graphics/chat_background.jpg";
|
||||
// height: parent.height
|
||||
// width: parent.width
|
||||
// fillMode: Image.Tile
|
||||
// horizontalAlignment: Image.AlignLeft
|
||||
// verticalAlignment: Image.AlignTop
|
||||
// }
|
||||
// LinearGradient {
|
||||
// anchors.fill: parent
|
||||
// start: Qt.point(0, 0)
|
||||
// end: Qt.point(0, parent.height)
|
||||
// gradient: Gradient {
|
||||
// GradientStop { position: 0.0; color: "#4db2b3" }
|
||||
// GradientStop { position: 1.0; color: "#8f4dae" }
|
||||
// }
|
||||
// }
|
||||
|
||||
Loader {
|
||||
id: pageLoader
|
||||
|
||||
property string newSource: ""
|
||||
|
||||
onNewSourceChanged: {
|
||||
oldItemAnimation.start()
|
||||
}
|
||||
|
||||
anchors.fill: parent
|
||||
source: "./LoadingForm.qml"
|
||||
|
||||
onSourceChanged: {
|
||||
pageLoader.item.status = root.status
|
||||
newItemAnimation.start()
|
||||
}
|
||||
|
||||
NumberAnimation {
|
||||
id: newItemAnimation
|
||||
target: pageLoader.item
|
||||
property: "opacity"
|
||||
from: 0
|
||||
to: 1
|
||||
duration: 200
|
||||
easing.type: Easing.InExpo
|
||||
}
|
||||
|
||||
NumberAnimation {
|
||||
id: oldItemAnimation
|
||||
target: pageLoader.item
|
||||
property: "opacity"
|
||||
from: 1
|
||||
to: 0
|
||||
duration: 200
|
||||
easing.type: Easing.InExpo
|
||||
|
||||
onRunningChanged: {
|
||||
if(!running){
|
||||
pageLoader.source = pageLoader.newSource
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: pageLoader.item
|
||||
onRefresh: {
|
||||
pageLoader.newSource = "./LoadingForm.qml"
|
||||
loadTimer.start()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Timer {
|
||||
id: loadTimer
|
||||
interval: 500
|
||||
running: true
|
||||
repeat: false
|
||||
onTriggered: {
|
||||
root.status = serverConn.getEvents(day)
|
||||
pageLoader.newSource = "../Components/EventView.qml"
|
||||
}
|
||||
}
|
||||
}
|
250
qml/Forms/FilterForm.qml
Normal file
|
@ -0,0 +1,250 @@
|
|||
import QtQuick 2.9
|
||||
import QtQuick.Controls 2.4
|
||||
import QtQuick.Layouts 1.3
|
||||
import Backend 1.0
|
||||
|
||||
import "../Components"
|
||||
|
||||
Page {
|
||||
id: root
|
||||
|
||||
property bool teacherMode: _cppAppSettings.loadSetting("teacherMode") === "true"
|
||||
|
||||
title: "Vertretungsplan Filter"
|
||||
|
||||
signal opened()
|
||||
|
||||
onOpened: {
|
||||
console.log("Filter Form opened")
|
||||
}
|
||||
|
||||
Dialog {
|
||||
id: filterDialog
|
||||
|
||||
signal finished(string grade, string classletter, string teacherShortcut)
|
||||
|
||||
property bool teacherMode: _cppAppSettings.loadSetting("teacherMode") === "true"
|
||||
|
||||
onFinished: {
|
||||
if(_cppAppSettings.loadSetting("teacherMode") === "true"){
|
||||
contactView.model.append(teacherShortcut, "", "t");
|
||||
}
|
||||
else {
|
||||
if(parseInt(grade) > 10 || classletter === "alle"){
|
||||
classletter = ""
|
||||
}
|
||||
|
||||
contactView.model.append(grade, classletter, "s")
|
||||
}
|
||||
}
|
||||
|
||||
function createContact() {
|
||||
form.grade.value = 5
|
||||
form.classLetter.currentIndex = 0
|
||||
form.teacherShortcut.text = ""
|
||||
|
||||
filterDialog.title = qsTr("Filter hinzufügen");
|
||||
filterDialog.open();
|
||||
}
|
||||
|
||||
x: ( parent.width - width ) / 2
|
||||
y: ( parent.height - height ) / 2
|
||||
|
||||
focus: true
|
||||
modal: true
|
||||
title: qsTr("Add Contact")
|
||||
standardButtons: Dialog.Ok | Dialog.Cancel
|
||||
|
||||
contentItem: GridLayout {
|
||||
id: form
|
||||
property alias grade: gradeSb
|
||||
property alias classLetter: classLetterCb
|
||||
property alias teacherShortcut: shortcutTf
|
||||
property int minimumInputSize: 120
|
||||
|
||||
rows: 4
|
||||
columns: 2
|
||||
|
||||
Label {
|
||||
text: qsTr("Stufe")
|
||||
Layout.alignment: Qt.AlignLeft | Qt.AlignBaseline
|
||||
visible: !filterDialog.teacherMode
|
||||
}
|
||||
|
||||
SpinBox {
|
||||
id: gradeSb
|
||||
focus: true
|
||||
Layout.fillWidth: true
|
||||
Layout.minimumWidth: form.minimumInputSize
|
||||
Layout.alignment: Qt.AlignLeft | Qt.AlignBaseline
|
||||
from: 5
|
||||
to: 12
|
||||
stepSize: 1
|
||||
value: 5
|
||||
visible: !filterDialog.teacherMode
|
||||
}
|
||||
|
||||
Label {
|
||||
text: qsTr("Klasse")
|
||||
Layout.alignment: Qt.AlignLeft | Qt.AlignBaseline
|
||||
visible: !filterDialog.teacherMode
|
||||
}
|
||||
|
||||
ComboBox {
|
||||
id: classLetterCb
|
||||
Layout.fillWidth: true
|
||||
Layout.minimumWidth: form.minimumInputSize
|
||||
Layout.alignment: Qt.AlignLeft | Qt.AlignBaseline
|
||||
model: ["a", "b", "c", "d", "e", "alle"]
|
||||
enabled: gradeSb.value < 11
|
||||
visible: !filterDialog.teacherMode
|
||||
}
|
||||
|
||||
Label {
|
||||
text: qsTr("Kürzel")
|
||||
Layout.alignment: Qt.AlignLeft | Qt.AlignBaseline
|
||||
|
||||
visible: filterDialog.teacherMode
|
||||
}
|
||||
|
||||
TextField {
|
||||
id: shortcutTf
|
||||
focus: true
|
||||
Layout.fillWidth: true
|
||||
Layout.minimumWidth: form.minimumInputSize
|
||||
Layout.alignment: Qt.AlignLeft | Qt.AlignBaseline
|
||||
|
||||
visible: filterDialog.teacherMode
|
||||
}
|
||||
}
|
||||
|
||||
onAccepted: finished(form.grade.value, form.classLetter.currentText, form.teacherShortcut.text)
|
||||
}
|
||||
|
||||
ListView {
|
||||
id: contactView
|
||||
|
||||
anchors.fill: parent
|
||||
|
||||
width: 320
|
||||
height: 480
|
||||
|
||||
focus: true
|
||||
|
||||
delegate: ItemDelegate {
|
||||
id: delegate
|
||||
|
||||
width: contactView.width
|
||||
height: 0
|
||||
|
||||
Component.onCompleted: {
|
||||
delegate.height = 50
|
||||
}
|
||||
|
||||
text: grade + classLetter
|
||||
font.pixelSize: height * 0.4
|
||||
|
||||
enabled: root.teacherMode ? role === "t":role === "s"
|
||||
|
||||
Rectangle {
|
||||
|
||||
anchors {
|
||||
bottom: parent.bottom
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
|
||||
height: 1
|
||||
width: parent.width
|
||||
|
||||
color: "lightgrey"
|
||||
}
|
||||
|
||||
Behavior on height {
|
||||
NumberAnimation {
|
||||
duration: 500
|
||||
easing.type: Easing.InOutQuad
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
NumberAnimation {
|
||||
id: deleteAnimation
|
||||
target: delegate
|
||||
property: "height"
|
||||
duration: 500
|
||||
from: delegate.height
|
||||
to: 0
|
||||
easing.type: Easing.InOutQuad
|
||||
onRunningChanged: {
|
||||
if(!running){
|
||||
contactView.model.remove(index)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Button {
|
||||
id: deleteButton
|
||||
|
||||
anchors {
|
||||
right: parent.right
|
||||
rightMargin: 10
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
height: parent.height * 0.6
|
||||
width: height
|
||||
|
||||
scale: pressed ? 0.8:1
|
||||
|
||||
onClicked: {
|
||||
deleteAnimation.start()
|
||||
}
|
||||
|
||||
background: Image {
|
||||
source: "/graphics/icons/delete.png"
|
||||
fillMode: Image.PreserveAspectFit
|
||||
mipmap: true
|
||||
}
|
||||
|
||||
Behavior on scale {
|
||||
PropertyAnimation {
|
||||
duration: 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
model: FilterModel {
|
||||
|
||||
}
|
||||
|
||||
ScrollBar.vertical: ScrollBar { }
|
||||
}
|
||||
|
||||
FancyButton {
|
||||
|
||||
highlighted: true
|
||||
|
||||
anchors {
|
||||
margins: 10
|
||||
bottom: parent.bottom
|
||||
horizontalCenter: parent.horizontalCenter
|
||||
}
|
||||
|
||||
imageScale: 0
|
||||
|
||||
height: 50
|
||||
width: height
|
||||
|
||||
onClicked: {
|
||||
filterDialog.createContact()
|
||||
}
|
||||
|
||||
Label {
|
||||
anchors.centerIn: parent
|
||||
font.pixelSize: parent.height * 0.6
|
||||
text: "+"
|
||||
}
|
||||
}
|
||||
}
|
101
qml/Forms/FoodPlanForm.qml
Normal file
|
@ -0,0 +1,101 @@
|
|||
import QtQuick 2.9
|
||||
import QtQuick.Controls 2.4
|
||||
import QtGraphicalEffects 1.0
|
||||
import "../Components"
|
||||
|
||||
Page {
|
||||
id:root
|
||||
//anchors.fill: parent
|
||||
property bool cookplanChanged
|
||||
title: qsTr("Speiseplan")
|
||||
property string icon: "qrc:/graphics/images/TreffpunktFannyLogo.png"
|
||||
property string link: "http://www.treffpunkt-fanny.de"
|
||||
property int status: -1
|
||||
|
||||
signal opened()
|
||||
|
||||
onOpened: {
|
||||
console.warn("foodplan opened")
|
||||
}
|
||||
|
||||
// Image{
|
||||
// source: "qrc:/graphics/chat_background.jpg";
|
||||
// height: parent.height
|
||||
// width: parent.width
|
||||
// fillMode: Image.Tile
|
||||
// horizontalAlignment: Image.AlignLeft
|
||||
// verticalAlignment: Image.AlignTop
|
||||
// }
|
||||
// LinearGradient {
|
||||
// anchors.fill: parent
|
||||
// start: Qt.point(0, 0)
|
||||
// end: Qt.point(0, parent.height)
|
||||
// gradient: Gradient {
|
||||
// GradientStop { position: 0.0; color: "#4db2b3" }
|
||||
// GradientStop { position: 1.0; color: "#8f4dae" }
|
||||
// }
|
||||
// }
|
||||
|
||||
Loader {
|
||||
id: pageLoader
|
||||
|
||||
property string newSource: ""
|
||||
|
||||
onNewSourceChanged: {
|
||||
oldItemAnimation.start()
|
||||
}
|
||||
|
||||
anchors.fill: parent
|
||||
source: "./LoadingForm.qml"
|
||||
|
||||
onSourceChanged: {
|
||||
pageLoader.item.status = root.status
|
||||
newItemAnimation.start()
|
||||
}
|
||||
|
||||
NumberAnimation {
|
||||
id: newItemAnimation
|
||||
target: pageLoader.item
|
||||
property: "opacity"
|
||||
from: 0
|
||||
to: 1
|
||||
duration: 200
|
||||
easing.type: Easing.InExpo
|
||||
}
|
||||
|
||||
NumberAnimation {
|
||||
id: oldItemAnimation
|
||||
target: pageLoader.item
|
||||
property: "opacity"
|
||||
from: 1
|
||||
to: 0
|
||||
duration: 200
|
||||
easing.type: Easing.InExpo
|
||||
|
||||
onRunningChanged: {
|
||||
if(!running){
|
||||
pageLoader.source = pageLoader.newSource
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: pageLoader.item
|
||||
onRefresh: {
|
||||
pageLoader.newSource = "./LoadingForm.qml"
|
||||
loadTimer.start()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Timer {
|
||||
id: loadTimer
|
||||
interval: 500
|
||||
running: true
|
||||
repeat: false
|
||||
onTriggered: {
|
||||
root.status = serverConn.getFoodPlan()
|
||||
pageLoader.newSource = "../Components/FoodPlanView.qml"
|
||||
}
|
||||
}
|
||||
}
|
187
qml/Forms/HomeForm.qml
Normal file
|
@ -0,0 +1,187 @@
|
|||
import QtQuick 2.9
|
||||
import QtQuick.Controls 2.4
|
||||
|
||||
import "../Components"
|
||||
|
||||
Page {
|
||||
id: root
|
||||
|
||||
signal opened()
|
||||
|
||||
onOpened: {
|
||||
console.log("Home Form opened")
|
||||
}
|
||||
|
||||
Column {
|
||||
id: mainMenu
|
||||
spacing: buttonWidth * 0.1
|
||||
|
||||
anchors {
|
||||
horizontalCenter: parent.horizontalCenter
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
property int buttonHeight: app.landscape() ? root.height * (0.5*0.8):buttonWidth
|
||||
property int buttonWidth: app.landscape() ? buttonHeight:root.width * (0.5*0.8)
|
||||
|
||||
Row {
|
||||
id: bigMenu
|
||||
spacing: mainMenu.buttonWidth * 0.1
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
|
||||
FancyButton {
|
||||
id: todayButton
|
||||
|
||||
image: "qrc:/graphics/sheute.png"
|
||||
|
||||
width: mainMenu.buttonWidth
|
||||
height: mainMenu.buttonHeight
|
||||
|
||||
onClicked: {
|
||||
eventConfirmationDialog.openDay( _cppAppSettings.loadSetting("teacherMode") === "true" ? "lheute":"sheute")
|
||||
}
|
||||
}
|
||||
|
||||
FancyButton {
|
||||
id: tomorrowButton
|
||||
|
||||
image: "qrc:/graphics/smorgen.png"
|
||||
|
||||
width: mainMenu.buttonWidth
|
||||
height: mainMenu.buttonHeight
|
||||
|
||||
onClicked: {
|
||||
eventConfirmationDialog.openDay( _cppAppSettings.loadSetting("teacherMode") === "true" ? "lmorgen":"smorgen")
|
||||
}
|
||||
}
|
||||
|
||||
Dialog {
|
||||
property string day
|
||||
id: eventConfirmationDialog
|
||||
|
||||
modal: true
|
||||
focus: true
|
||||
|
||||
title: "Bedingung"
|
||||
|
||||
x: (app.width - eventConfirmationDialog.width) / 2
|
||||
y: (app.height - eventConfirmationDialog.height) / 2
|
||||
parent: Overlay.overlay
|
||||
width: Math.min(root.width, root.height) / 3 * 2
|
||||
contentHeight: aboutColumn.height
|
||||
standardButtons: Dialog.Ok | Dialog.Cancel
|
||||
|
||||
onAccepted: {
|
||||
formStack.eventDay = day
|
||||
formStack.push(eventForm)
|
||||
}
|
||||
|
||||
Column {
|
||||
id: aboutColumn
|
||||
spacing: 20
|
||||
Label {
|
||||
id: text
|
||||
visible: true
|
||||
width: eventConfirmationDialog.availableWidth
|
||||
wrapMode: Label.Wrap
|
||||
text: "Vertretungsplan, vertraulich, nur zum persönlichen Gebrauch, keine Speicherung!"
|
||||
}
|
||||
}
|
||||
|
||||
function openDay(day){
|
||||
eventConfirmationDialog.day = day
|
||||
eventConfirmationDialog.open()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Grid {
|
||||
id: smallMenu
|
||||
columns: app.landscape() ? 4:2
|
||||
spacing: mainMenu.buttonWidth * 0.1
|
||||
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
|
||||
property int buttonHeight: mainMenu.buttonHeight * 0.7
|
||||
property int buttonWidth: mainMenu.buttonWidth * 0.7
|
||||
|
||||
FancyButton {
|
||||
id: foodplanButton
|
||||
|
||||
image: "qrc:/graphics/images/TreffpunktFannyLogoDark.png"
|
||||
|
||||
width: smallMenu.buttonWidth
|
||||
height: smallMenu.buttonHeight
|
||||
|
||||
onClicked: {
|
||||
formStack.push(foodPlanForm)
|
||||
}
|
||||
}
|
||||
|
||||
FancyButton {
|
||||
id: fannyButton
|
||||
|
||||
image: "qrc:/graphics/images/FannyLogoDark.jpg"
|
||||
imageScale: 1.2
|
||||
|
||||
width: smallMenu.buttonWidth
|
||||
height: smallMenu.buttonHeight
|
||||
|
||||
onClicked: {
|
||||
Qt.openUrlExternally("http://www.fanny-leicht.de")
|
||||
}
|
||||
}
|
||||
|
||||
FancyButton {
|
||||
id: settingsButton
|
||||
|
||||
image: "qrc:/graphics/icons/settingsBlack.png"
|
||||
imageScale: 0.8
|
||||
|
||||
width: smallMenu.buttonWidth
|
||||
height: smallMenu.buttonHeight
|
||||
|
||||
onClicked: {
|
||||
formStack.push(settingsForm)
|
||||
}
|
||||
}
|
||||
|
||||
FancyButton {
|
||||
id: logoutButton
|
||||
|
||||
image: "qrc:/graphics/icons/logoutRed.png"
|
||||
imageScale: 0.8
|
||||
|
||||
width: smallMenu.buttonWidth
|
||||
height: smallMenu.buttonHeight
|
||||
|
||||
onClicked: {
|
||||
logoutConfirmationDialog.open()
|
||||
}
|
||||
|
||||
Dialog {
|
||||
id: logoutConfirmationDialog
|
||||
|
||||
x: (app.width - width) / 2
|
||||
y: (app.height - height) / 2
|
||||
parent: Overlay.overlay
|
||||
|
||||
modal: true
|
||||
standardButtons: Dialog.Cancel | Dialog.Ok
|
||||
Column {
|
||||
spacing: 20
|
||||
anchors.fill: parent
|
||||
Label {
|
||||
text: "Möchtest du dich wirklich abmelden?"
|
||||
}
|
||||
}
|
||||
onAccepted: {
|
||||
serverConn.logout()
|
||||
app.state = "notLoggedIn"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
14
qml/Forms/LoadingForm.qml
Normal file
|
@ -0,0 +1,14 @@
|
|||
import QtQuick 2.9
|
||||
import QtQuick.Controls 2.4
|
||||
|
||||
Page {
|
||||
id: root
|
||||
|
||||
signal refresh()
|
||||
|
||||
property int status: -1
|
||||
|
||||
BusyIndicator {
|
||||
anchors.centerIn: parent
|
||||
}
|
||||
}
|
112
qml/Forms/SettingsForm.qml
Normal file
|
@ -0,0 +1,112 @@
|
|||
import QtQuick 2.0
|
||||
import QtQuick.Controls 2.4
|
||||
|
||||
import "../Components"
|
||||
|
||||
Page {
|
||||
id: root
|
||||
|
||||
title: "Einstellungen"
|
||||
|
||||
signal opened()
|
||||
|
||||
onOpened: {
|
||||
console.log("Settings Form opened")
|
||||
|
||||
var filters = _cppAppSettings.readFiltersQml()
|
||||
}
|
||||
|
||||
Column {
|
||||
id: settingsCol
|
||||
|
||||
anchors.fill: parent
|
||||
|
||||
SettingsDelegate {
|
||||
width: parent.width
|
||||
|
||||
onClicked: {
|
||||
formStack.push(filterForm)
|
||||
}
|
||||
|
||||
title: "Filter"
|
||||
description: "Wähle die Klassen(stufen) bzw. Lehrerkürzel aus, für die du den Vertretungsplan ansehen möchtest"
|
||||
}
|
||||
|
||||
SwitchDelegate {
|
||||
width: parent.width
|
||||
height: 10 + shortDescription.height + 2 + longDescription.height + 10
|
||||
|
||||
checked: _cppAppSettings.loadSetting("teacherMode") === "true"
|
||||
|
||||
onCheckedChanged: {
|
||||
_cppAppSettings.writeSetting("teacherMode", checked)
|
||||
}
|
||||
|
||||
Label {
|
||||
id: shortDescription
|
||||
|
||||
anchors {
|
||||
top: parent.top
|
||||
left: parent.left
|
||||
margins: 10
|
||||
}
|
||||
|
||||
font.pixelSize: longDescription.font.pixelSize * 1.4
|
||||
|
||||
text: "Lehrermodus"
|
||||
|
||||
}
|
||||
|
||||
Label {
|
||||
id: longDescription
|
||||
|
||||
anchors {
|
||||
top: shortDescription.bottom
|
||||
topMargin: 2
|
||||
left: parent.left
|
||||
leftMargin: 10
|
||||
}
|
||||
|
||||
width: parent.width * 0.9
|
||||
|
||||
wrapMode: Label.Wrap
|
||||
|
||||
text: "Lehrermodus aktivieren"
|
||||
}
|
||||
|
||||
indicator: Rectangle {
|
||||
property bool checked: parent.checked
|
||||
property bool down: parent.down
|
||||
property int set_height: parent.font.pixelSize * 1.4
|
||||
implicitWidth: set_height * 1.84
|
||||
implicitHeight: set_height
|
||||
x: parent.width - width - parent.rightPadding
|
||||
y: parent.height / 2 - height / 2
|
||||
radius: implicitHeight * 0.5
|
||||
color: parent.checked ? "#17a81a" : "transparent"
|
||||
border.color: parent.checked ? "#17a81a" : "#cccccc"
|
||||
Behavior on color{
|
||||
ColorAnimation{
|
||||
duration: 200
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
x: parent.checked ? parent.width - width : 0
|
||||
width: parent.height
|
||||
height: parent.height
|
||||
radius: height * 0.5
|
||||
color: parent.down ? "#cccccc" : "#ffffff"
|
||||
border.color: parent.checked ? (parent.down ? "#17a81a" : "#21be2b") : "#999999"
|
||||
Behavior on x{
|
||||
NumberAnimation {
|
||||
property: "x"
|
||||
duration: 200
|
||||
easing.type: Easing.InOutQuad
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
206
qml/HomeForm.qml
|
@ -1,206 +0,0 @@
|
|||
import QtQuick 2.9
|
||||
import QtQuick.Controls 2.2
|
||||
import QtGraphicalEffects 1.0
|
||||
|
||||
Page {
|
||||
//anchors.fill: parent
|
||||
|
||||
title: qsTr("Vertretungsplan")
|
||||
property string icon: "qrc:/graphics/FannyLogo_small.png"
|
||||
property string link: "http://www.fanny-leicht.de/j34"
|
||||
|
||||
// Image{
|
||||
// source: "qrc:/graphics/chat_background.jpg";
|
||||
// height: parent.height
|
||||
// width: parent.width
|
||||
// fillMode: Image.Tile
|
||||
// horizontalAlignment: Image.AlignLeft
|
||||
// verticalAlignment: Image.AlignTop
|
||||
// }
|
||||
|
||||
|
||||
// LinearGradient {
|
||||
// anchors.fill: parent
|
||||
// start: Qt.point(0, 0)
|
||||
// end: Qt.point(0, parent.height)
|
||||
// gradient: Gradient {
|
||||
// GradientStop { position: 0.0; color: "#4db2b3" }
|
||||
// GradientStop { position: 1.0; color: "#8f4dae" }
|
||||
// }
|
||||
// }
|
||||
|
||||
Label {
|
||||
id: laWelcome
|
||||
text: "Hier kannst du dir den Vertretungsplan des Fannys anschauen"
|
||||
font.pixelSize: 20
|
||||
wrapMode: Label.Wrap
|
||||
width: window.width / 1.2
|
||||
color: window.text_color
|
||||
anchors {
|
||||
top: parent.top
|
||||
topMargin: window.height / 8 - laWelcome.height / 2
|
||||
horizontalCenter: parent.horizontalCenter
|
||||
}
|
||||
}
|
||||
|
||||
Button {
|
||||
id:buttToday
|
||||
enabled: window.is_error === false
|
||||
anchors {
|
||||
left: parent.left
|
||||
leftMargin: (window.width / 4) - (buttToday.width / 2)
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
onClicked: {
|
||||
verificationDialog.day = "sheute"
|
||||
verificationDialog.open()
|
||||
}
|
||||
|
||||
onPressed: sheuteImage.scale = 0.9
|
||||
onReleased: sheuteImage.scale = 1.0
|
||||
|
||||
background: Image {
|
||||
id: sheuteImage
|
||||
source: "qrc:/graphics/sheute.png"
|
||||
|
||||
Behavior on scale {
|
||||
PropertyAnimation {
|
||||
duration: 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Button {
|
||||
id: buttTomorrow
|
||||
enabled: window.is_error === false
|
||||
anchors {
|
||||
right: parent.right
|
||||
rightMargin: (window.width / 4) - (buttTomorrow.width / 2)
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
onClicked: {
|
||||
verificationDialog.day = "smorgen"
|
||||
verificationDialog.open()
|
||||
}
|
||||
|
||||
onPressed: smorgenImage.scale = 0.9
|
||||
onReleased: smorgenImage.scale = 1.0
|
||||
|
||||
background: Image {
|
||||
id: smorgenImage
|
||||
source: "qrc:/graphics/smorgen.png"
|
||||
|
||||
Behavior on scale {
|
||||
PropertyAnimation {
|
||||
duration: 100
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: buttonsDisabled
|
||||
anchors.left: buttToday.left
|
||||
anchors.right: buttTomorrow.right
|
||||
anchors.top: buttToday.top
|
||||
anchors.bottom: buttToday.bottom
|
||||
color: "white"
|
||||
opacity: 0.7
|
||||
visible: window.is_error
|
||||
}
|
||||
|
||||
Dialog {
|
||||
property string day
|
||||
id: verificationDialog
|
||||
modal: true
|
||||
focus: true
|
||||
title: "Bedingung"
|
||||
x: (window.width - width) / 2
|
||||
y: window.height / 6
|
||||
width: Math.min(window.width, window.height) / 3 * 2
|
||||
contentHeight: aboutColumn.height
|
||||
standardButtons: Dialog.Ok | Dialog.Cancel
|
||||
onAccepted: {
|
||||
_cppServerConn.updateProgress(0,100)
|
||||
busyDialog.open()
|
||||
text.visible = false
|
||||
var ret = _cppServerConn.getDay(day)
|
||||
progressCircle.arcEnd = 36000
|
||||
progress.text = "100%"
|
||||
busyDialog.close()
|
||||
text.visible = true
|
||||
if(ret === "OK"){
|
||||
return
|
||||
}
|
||||
else if(ret === "Ungültige Benutzerdaten."){
|
||||
root.StackView.view.pop()
|
||||
}
|
||||
else {
|
||||
error.text = ret
|
||||
window.is_error = true
|
||||
window.error = ret
|
||||
error.visible = true
|
||||
}
|
||||
}
|
||||
|
||||
Column {
|
||||
id: aboutColumn
|
||||
spacing: 20
|
||||
Label {
|
||||
id: text
|
||||
visible: true
|
||||
width: verificationDialog.availableWidth
|
||||
wrapMode: Label.Wrap
|
||||
text: "Vertretungsplan, vertraulich, nur zum persönlichen Gebrauch, keine Speicherung!"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Dialog {
|
||||
id: busyDialog
|
||||
modal: true
|
||||
closePolicy: "NoAutoClose"
|
||||
focus: true
|
||||
//title: "Please wait..."
|
||||
x: (window.width - width) / 2
|
||||
y: window.height / 6
|
||||
//width: Math.min(window.width, window.height) / 3 * 2
|
||||
height: contentHeight * 1.5
|
||||
width: contentWidth * 1.5
|
||||
contentHeight: progressCircle.height
|
||||
contentWidth: progressCircle.width
|
||||
|
||||
ProgressCircle {
|
||||
id: progressCircle
|
||||
size: 50
|
||||
lineWidth: 5
|
||||
anchors.centerIn: parent
|
||||
colorCircle: "#FF3333"
|
||||
colorBackground: "#E6E6E6"
|
||||
showBackground: true
|
||||
arcBegin: 0
|
||||
arcEnd: 0
|
||||
Label {
|
||||
id: progress
|
||||
anchors.centerIn: parent
|
||||
text: "0%"
|
||||
}
|
||||
Timer {
|
||||
id: refreshTimer
|
||||
interval: 1;
|
||||
running: busyDialog.visible
|
||||
repeat: true
|
||||
onTriggered: {
|
||||
var ret = _cppServerConn.getProgress()
|
||||
|
||||
progressCircle.arcEnd = 360 * ret * 1.2
|
||||
progress.text = Math.round( ret * 100 ) + "%"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,165 +0,0 @@
|
|||
import QtQuick 2.0
|
||||
import QtQuick.Layouts 1.3
|
||||
import QtQuick.Controls 2.2
|
||||
|
||||
Page {
|
||||
id: root
|
||||
//anchors.fill: parent
|
||||
objectName: "LoginPage";
|
||||
|
||||
header: AppToolBar {
|
||||
Label {
|
||||
text: "Anmeldung"
|
||||
anchors.centerIn: parent
|
||||
color: "white"
|
||||
}
|
||||
}
|
||||
|
||||
Image {
|
||||
id: bigLogo
|
||||
source: "favicon.png"
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.margins: window.height * 0.01
|
||||
height: window.height * 0.2
|
||||
fillMode: Image.PreserveAspectFit
|
||||
}
|
||||
|
||||
Label {
|
||||
id: infoText
|
||||
text: "<html>Bitte melde dich mit den Anmeldedaten an, die du für den Vertretungsplan erhalten hast.
|
||||
<a href='http://www.fanny-leicht.de/j34/index.php/aktuelles/vertretungsplan'>Weitere Informationen</a></html>"
|
||||
wrapMode: Text.Wrap
|
||||
onLinkActivated: {
|
||||
Qt.openUrlExternally(link)
|
||||
}
|
||||
|
||||
anchors {
|
||||
top: bigLogo.bottom
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
leftMargin: window.width * 0.05
|
||||
rightMargin: window.width * 0.05
|
||||
}
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
|
||||
spacing: 40
|
||||
width: parent.width
|
||||
anchors.fill: parent
|
||||
anchors.topMargin: bigLogo.height + infoText.height + window.height * 0.02
|
||||
anchors.bottomMargin: window.height * 0.2
|
||||
|
||||
TextField {
|
||||
id: tiuname
|
||||
placeholderText: "Benutzername"
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
Keys.onReturnPressed: login(tiuname.text, tipasswd.text, cBperm.checked)
|
||||
anchors.left: parent.left
|
||||
anchors.margins: window.width * 0.05
|
||||
|
||||
}
|
||||
|
||||
|
||||
TextField {
|
||||
id: tipasswd
|
||||
echoMode: TextInput.Password
|
||||
placeholderText: "Passwort"
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
Keys.onReturnPressed: login(tiuname.text, tipasswd.text, cBperm.checked)
|
||||
anchors.left: parent.left
|
||||
anchors.margins: window.width * 0.05
|
||||
}
|
||||
|
||||
CheckDelegate {
|
||||
id: cBperm
|
||||
text: qsTr("Angemeldet bleiben")
|
||||
checked: true
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
}
|
||||
|
||||
Button {
|
||||
id: loginButton
|
||||
objectName: "loginButton"
|
||||
text: qsTr("Anmelden")
|
||||
enabled: tiuname.length > 0 & tipasswd.length > 0
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.left: parent.left
|
||||
anchors.margins: window.width * 0.05
|
||||
onClicked: login(tiuname.text, tipasswd.text, cBperm.checked)
|
||||
}
|
||||
Label {
|
||||
id: laStatus
|
||||
text: qsTr("")
|
||||
font.pixelSize: 20
|
||||
color: "red"
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
}
|
||||
}
|
||||
|
||||
function login(username, password, permanent){
|
||||
Qt.inputMethod.hide();
|
||||
busyDialog.open()
|
||||
loginButton.enabled = false
|
||||
loginButton.text = "Loggin in.."
|
||||
console.log(username, password, permanent)
|
||||
var ret = _cppServerConn.login(username, password, permanent);
|
||||
busyDialog.close()
|
||||
loginButton.enabled = true
|
||||
loginButton.text = "Login"
|
||||
if(ret === "OK"){
|
||||
_cppAppSettings.writeSetting("init", 1);
|
||||
window.is_error = false;
|
||||
root.StackView.view.push("MainPage.qml")
|
||||
}
|
||||
else{
|
||||
if(_cppAppSettings.loadSetting("permanent") === "1"){
|
||||
tiuname.text = _cppAppSettings.loadSetting("username")
|
||||
tipasswd.text = _cppAppSettings.loadSetting("password")
|
||||
_cppAppSettings.writeSetting("permanent", "0")
|
||||
_cppAppSettings.writeSetting("username", "")
|
||||
_cppAppSettings.writeSetting("password", "")
|
||||
}
|
||||
laStatus.text = ret
|
||||
}
|
||||
//root.qmlSignal(tiuname.text, tipasswd.text)
|
||||
}
|
||||
|
||||
Dialog {
|
||||
id: busyDialog
|
||||
modal: true
|
||||
closePolicy: "NoAutoClose"
|
||||
focus: true
|
||||
title: "Please wait..."
|
||||
x: (window.width - width) / 2
|
||||
y: window.height / 6
|
||||
width: Math.min(window.width, window.height) / 3 * 2
|
||||
height: 150
|
||||
contentHeight: aboutColumn.height
|
||||
Column {
|
||||
id: aboutColumn
|
||||
spacing: 20
|
||||
RowLayout {
|
||||
width: parent.width
|
||||
BusyIndicator {
|
||||
id: busyIndicator
|
||||
visible: true
|
||||
x: 22
|
||||
y: 38
|
||||
}
|
||||
|
||||
Label {
|
||||
width: busyDialog.availableWidth
|
||||
text: "logging in..."
|
||||
wrapMode: Label.Wrap
|
||||
font.pixelSize: 12
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
244
qml/MainPage.qml
|
@ -1,244 +0,0 @@
|
|||
import QtQuick 2.9
|
||||
import QtQuick.Controls 2.2
|
||||
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Controls.Styles 1.2
|
||||
|
||||
Page {
|
||||
id: root
|
||||
objectName: "MainPage"
|
||||
|
||||
Shortcut {
|
||||
sequences: ["Esc", "Back"]
|
||||
enabled: stackView.depth > 1
|
||||
onActivated: {
|
||||
stackView.pop()
|
||||
}
|
||||
}
|
||||
|
||||
header: AppToolBar {
|
||||
|
||||
|
||||
Button {
|
||||
id:toolButton
|
||||
enabled: window.is_error === false
|
||||
anchors {
|
||||
left: parent.left
|
||||
verticalCenter: parent.verticalCenter
|
||||
leftMargin: parent.width *0.02
|
||||
}
|
||||
height: parent.height - parent.height * 0.5
|
||||
width: height
|
||||
|
||||
onClicked: {
|
||||
if (stackView.depth > 1) {
|
||||
stackView.pop()
|
||||
} else {
|
||||
drawer.open()
|
||||
}
|
||||
}
|
||||
|
||||
onPressed: toolButton.scale = 0.9
|
||||
onReleased: toolButton.scale = 1.0
|
||||
|
||||
background: Image {
|
||||
source: stackView.depth > 1 ? "qrc:/graphics/icons/back.png" : "qrc:/graphics/icons/drawer.png"
|
||||
height: parent.height
|
||||
width: parent.width
|
||||
Behavior on scale {
|
||||
PropertyAnimation {
|
||||
duration: 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
text: stackView.currentItem.title
|
||||
anchors {
|
||||
verticalCenter: parent.verticalCenter
|
||||
left: toolButton.right
|
||||
leftMargin: parent.width * 0.02
|
||||
}
|
||||
font.bold: true
|
||||
color: "white"
|
||||
}
|
||||
|
||||
Image {
|
||||
id: logo
|
||||
source: stackView.currentItem.icon
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: parent.width * 0.02
|
||||
anchors.top: parent.top
|
||||
height: parent.height
|
||||
fillMode: Image.PreserveAspectFit
|
||||
mipmap: true
|
||||
Behavior on scale {
|
||||
PropertyAnimation {
|
||||
duration: 100
|
||||
}
|
||||
}
|
||||
MouseArea {
|
||||
enabled: stackView.currentItem.link !== undefined && stackView.currentItem.objectName !== "WebsitePage"
|
||||
anchors.fill: parent
|
||||
onPressed: logo.scale = 0.9
|
||||
onReleased: logo.scale = 1.0
|
||||
onClicked: {
|
||||
stackView.push("qrc:/WebsitePage.qml",{title: "Web", link: stackView.currentItem.link, icon: stackView.currentItem.icon})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Drawer {
|
||||
id: drawer
|
||||
width: window.width * 0.66
|
||||
height: window.height
|
||||
AppToolBar {
|
||||
id: header
|
||||
showErrorBar: false
|
||||
anchors {
|
||||
top: parent.top
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
|
||||
Label {
|
||||
text: "Menü"
|
||||
anchors {
|
||||
verticalCenter: parent.verticalCenter
|
||||
left: parent.left
|
||||
leftMargin: 17
|
||||
}
|
||||
|
||||
font.bold: true
|
||||
}
|
||||
}
|
||||
Column {
|
||||
anchors {
|
||||
top: header.bottom
|
||||
bottom: parent.bottom
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
|
||||
|
||||
ItemDelegate {
|
||||
text: qsTr("Fanny Webseite")
|
||||
width: parent.width
|
||||
onClicked: {
|
||||
stackView.push("qrc:/WebsitePage.qml",{title: "Fanny Webseite", link: "http://www.fanny-leicht.de/j34", icon: stackView.currentItem.icon})
|
||||
drawer.close()
|
||||
}
|
||||
}
|
||||
|
||||
ItemDelegate {
|
||||
text: qsTr("Speiseplan")
|
||||
width: parent.width
|
||||
onClicked: {
|
||||
busyDialog.open()
|
||||
var ret = _cppServerConn.getFoodPlan();
|
||||
drawer.close()
|
||||
busyDialog.close()
|
||||
if(ret === 200 || _cppServerConn.getFoodPlanData(1).cookteam !== ""){
|
||||
stackView.push("qrc:/FoodPlanForm.qml")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ItemDelegate {
|
||||
Label {
|
||||
text: "abmelden"
|
||||
color: "red"
|
||||
anchors {
|
||||
verticalCenter: parent.verticalCenter
|
||||
left: parent.left
|
||||
leftMargin: 17
|
||||
}
|
||||
|
||||
font.bold: true
|
||||
}
|
||||
width: parent.width
|
||||
|
||||
onClicked: {
|
||||
confirmationDialog.open()
|
||||
}
|
||||
|
||||
Dialog {
|
||||
id: confirmationDialog
|
||||
|
||||
x: (window.width - width) / 2
|
||||
y: (window.height - height) / 2
|
||||
parent: ApplicationWindow.overlay
|
||||
|
||||
|
||||
modal: true
|
||||
standardButtons: Dialog.Cancel | Dialog.Ok
|
||||
Column {
|
||||
spacing: 20
|
||||
anchors.fill: parent
|
||||
Label {
|
||||
text: "Möchtest du dich wirklich abmelden?"
|
||||
}
|
||||
}
|
||||
onAccepted: {
|
||||
_cppServerConn.logout()
|
||||
drawer.close()
|
||||
root.StackView.view.push("qrc:/LoginPage.qml")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
StackView {
|
||||
id: stackView
|
||||
initialItem: "qrc:/HomeForm.qml"
|
||||
anchors.fill: parent
|
||||
}
|
||||
|
||||
Dialog {
|
||||
id: busyDialog
|
||||
modal: true
|
||||
focus: true
|
||||
//title: "Please wait..."
|
||||
x: (window.width - width) / 2
|
||||
y: window.height / 6
|
||||
//width: Math.min(window.width, window.height) / 3 * 2
|
||||
height: contentHeight * 1.5
|
||||
width: contentWidth * 1.5
|
||||
contentHeight: progressCircle.height
|
||||
contentWidth: progressCircle.width
|
||||
ProgressCircle {
|
||||
id: progressCircle
|
||||
size: 50
|
||||
lineWidth: 5
|
||||
anchors.centerIn: parent
|
||||
colorCircle: "#FF3333"
|
||||
colorBackground: "#E6E6E6"
|
||||
showBackground: true
|
||||
arcBegin: 0
|
||||
arcEnd: 0
|
||||
Label {
|
||||
id: progress
|
||||
anchors.centerIn: parent
|
||||
text: "0%"
|
||||
}
|
||||
Timer {
|
||||
id: refreshTimer
|
||||
interval: 1;
|
||||
running: busyDialog.visible
|
||||
repeat: true
|
||||
onTriggered: {
|
||||
var ret = _cppServerConn.getProgress()
|
||||
if(ret > 100 || ret < 0){
|
||||
ret = 0
|
||||
}
|
||||
|
||||
progress.text = Math.round( ret * 100 ) + "%"
|
||||
progressCircle.arcEnd = 360 * ret
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
280
qml/Pages/LoginPage.qml
Normal file
|
@ -0,0 +1,280 @@
|
|||
import QtQuick 2.11
|
||||
import QtQuick.Layouts 1.3
|
||||
import QtQuick.Controls 2.2
|
||||
import "../Components"
|
||||
|
||||
Page {
|
||||
id: root
|
||||
objectName: "LoginPage";
|
||||
|
||||
header: AppToolBar {
|
||||
Label {
|
||||
text: "Anmeldung"
|
||||
anchors.centerIn: parent
|
||||
color: "black"
|
||||
}
|
||||
}
|
||||
|
||||
Image {
|
||||
id: bigLogo
|
||||
source: "qrc:/favicon.png"
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.margins: window.height * 0.01
|
||||
height: window.height * 0.2
|
||||
fillMode: Image.PreserveAspectFit
|
||||
mipmap: true
|
||||
smooth: true
|
||||
}
|
||||
|
||||
Label {
|
||||
id: infoText
|
||||
text: "<html>Bitte melde dich mit den Anmeldedaten an, die du für den Vertretungsplan erhalten hast.
|
||||
<a href='http://www.fanny-leicht.de/j34/index.php/aktuelles/vertretungsplan'>Weitere Informationen</a></html>"
|
||||
wrapMode: Text.Wrap
|
||||
onLinkActivated: {
|
||||
Qt.openUrlExternally(link)
|
||||
}
|
||||
|
||||
anchors {
|
||||
top: bigLogo.bottom
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
leftMargin: window.width * 0.05
|
||||
rightMargin: window.width * 0.05
|
||||
}
|
||||
}
|
||||
|
||||
Column {
|
||||
spacing: ( height - 100 ) * 0.1
|
||||
anchors {
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
top: infoText.bottom
|
||||
bottom: parent.bottom
|
||||
topMargin: window.height * 0.02
|
||||
bottomMargin: window.height * 0.2
|
||||
}
|
||||
|
||||
TextField {
|
||||
id: tiuname
|
||||
placeholderText: "Benutzername"
|
||||
Keys.onReturnPressed: login(tiuname.text, tipasswd.text, cBperm.checked)
|
||||
|
||||
anchors {
|
||||
left: parent.left
|
||||
leftMargin: root.width * 0.05
|
||||
right: parent.right
|
||||
rightMargin: root.width * 0.05
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
TextField {
|
||||
id: tipasswd
|
||||
echoMode: passwordHideShow.state === "visible" ? TextInput.Normal:TextInput.Password
|
||||
placeholderText: "Passwort"
|
||||
Keys.onReturnPressed: login(tiuname.text, tipasswd.text, cBperm.checked)
|
||||
|
||||
anchors {
|
||||
left: parent.left
|
||||
leftMargin: root.width * 0.05
|
||||
right: parent.right
|
||||
rightMargin: root.width * 0.05
|
||||
}
|
||||
|
||||
|
||||
|
||||
MouseArea {
|
||||
id: passwordHideShow
|
||||
anchors {
|
||||
top: parent.top
|
||||
bottom: parent.bottom
|
||||
right: parent.right
|
||||
}
|
||||
width: visibleIcon.width
|
||||
|
||||
onClicked: {
|
||||
if(state === "visible"){
|
||||
state = "invisible"
|
||||
}
|
||||
else {
|
||||
state = "visible"
|
||||
}
|
||||
}
|
||||
|
||||
state: "invisible"
|
||||
|
||||
states: [
|
||||
State {
|
||||
name: "visible"
|
||||
PropertyChanges {
|
||||
target: visibleIcon
|
||||
scale: 0
|
||||
}
|
||||
PropertyChanges {
|
||||
target: invisibleIcon
|
||||
scale: 1
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "invisible"
|
||||
PropertyChanges {
|
||||
target: visibleIcon
|
||||
scale: 1
|
||||
}
|
||||
PropertyChanges {
|
||||
target: invisibleIcon
|
||||
scale: 0
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
transitions: [
|
||||
Transition {
|
||||
from: "*"
|
||||
to: "*"
|
||||
NumberAnimation {
|
||||
properties: "scale,opacity"
|
||||
easing.type: Easing.InOutQuad
|
||||
duration: 200
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
Image {
|
||||
id: visibleIcon
|
||||
|
||||
anchors {
|
||||
top: parent.top
|
||||
bottom: parent.bottom
|
||||
right: parent.right
|
||||
|
||||
bottomMargin: parent.height * 0.2
|
||||
topMargin: anchors.bottomMargin
|
||||
}
|
||||
fillMode: Image.PreserveAspectFit
|
||||
smooth: true
|
||||
mipmap: true
|
||||
source: "qrc:/graphics/icons/view.png"
|
||||
}
|
||||
|
||||
Image {
|
||||
id: invisibleIcon
|
||||
|
||||
anchors {
|
||||
top: parent.top
|
||||
bottom: parent.bottom
|
||||
right: parent.right
|
||||
|
||||
bottomMargin: parent.height * 0.25
|
||||
topMargin: anchors.bottomMargin
|
||||
}
|
||||
fillMode: Image.PreserveAspectFit
|
||||
smooth: true
|
||||
mipmap: true
|
||||
source: "qrc:/graphics/icons/hide.png"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CheckDelegate {
|
||||
id: cBperm
|
||||
text: qsTr("Angemeldet bleiben")
|
||||
checked: true
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
}
|
||||
|
||||
Button {
|
||||
id: loginButton
|
||||
objectName: "loginButton"
|
||||
text: qsTr("Anmelden")
|
||||
enabled: tiuname.length > 0 & tipasswd.length > 0
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.left: parent.left
|
||||
anchors.margins: window.width * 0.05
|
||||
onClicked: login(tiuname.text, tipasswd.text, cBperm.checked)
|
||||
}
|
||||
Label {
|
||||
id: laStatus
|
||||
text: qsTr("")
|
||||
font.pixelSize: 20
|
||||
color: "red"
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
}
|
||||
}
|
||||
|
||||
function login(username, password, permanent){
|
||||
// hide the keyboard
|
||||
Qt.inputMethod.hide();
|
||||
// open the busy dialog
|
||||
busyDialog.open()
|
||||
// disable the login button
|
||||
loginButton.enabled = false
|
||||
// change the text to "Anmelden.."
|
||||
loginButton.text = "Anmelden.."
|
||||
|
||||
console.log(username, password, permanent)
|
||||
|
||||
// trigger the login fucntion of the cpp backend and store the return code
|
||||
var ret = serverConn.login(username, password, permanent);
|
||||
|
||||
// the request has finished
|
||||
// close the busy dialog
|
||||
busyDialog.close()
|
||||
// enable the button
|
||||
loginButton.enabled = true
|
||||
// change the text of the login button back to "Anmelden"
|
||||
loginButton.text = "Anmelden"
|
||||
|
||||
// chekc if the login was successfull
|
||||
if(ret === 200){
|
||||
// if it was -> set the app to inited and set the state of the app to loggedIn
|
||||
_cppAppSettings.writeSetting("init", 1);
|
||||
app.is_error = false;
|
||||
app.state = "loggedIn"
|
||||
}
|
||||
else{
|
||||
// if it wasn't -> reset the stored credentinals
|
||||
_cppAppSettings.writeSetting("permanent", "0")
|
||||
_cppAppSettings.writeSetting("username", "")
|
||||
_cppAppSettings.writeSetting("password", "")
|
||||
// and set the error label to the error short description of the retuned error code
|
||||
laStatus.text = app.getErrorInfo(ret)[1]
|
||||
}
|
||||
}
|
||||
|
||||
Dialog {
|
||||
id: busyDialog
|
||||
modal: true
|
||||
closePolicy: "NoAutoClose"
|
||||
focus: true
|
||||
title: "Bitte warten..."
|
||||
x: (app.width - width) / 2
|
||||
y: (app.height - height) / 2
|
||||
width: Math.min(window.width, window.height) / 3 * 2
|
||||
height: 150
|
||||
contentHeight: contentColumn.height
|
||||
Column {
|
||||
id: contentColumn
|
||||
spacing: 20
|
||||
RowLayout {
|
||||
width: parent.width
|
||||
BusyIndicator {
|
||||
id: busyIndicator
|
||||
visible: true
|
||||
x: 22
|
||||
y: 38
|
||||
}
|
||||
|
||||
Label {
|
||||
width: busyDialog.availableWidth
|
||||
text: "Anmelden..."
|
||||
wrapMode: Label.Wrap
|
||||
font.pixelSize: 12
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
201
qml/Pages/MainPage.qml
Normal file
|
@ -0,0 +1,201 @@
|
|||
import QtQuick 2.9
|
||||
import QtQuick.Controls 2.4
|
||||
import QtGraphicalEffects 1.0
|
||||
|
||||
import "../Components"
|
||||
import "../Forms"
|
||||
|
||||
Page {
|
||||
id: root
|
||||
objectName: "MainPage"
|
||||
|
||||
Shortcut {
|
||||
sequences: ["Esc", "Back"]
|
||||
enabled: formStack.depth > 1
|
||||
onActivated: {
|
||||
formStack.pop()
|
||||
}
|
||||
}
|
||||
|
||||
StackView {
|
||||
id: formStack
|
||||
property var currPage
|
||||
property string eventDay: ""
|
||||
|
||||
anchors {
|
||||
top: toolBar.bottom
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
bottom: parent.bottom
|
||||
}
|
||||
|
||||
onCurrPageChanged: {
|
||||
mainStack.replace(currPage)
|
||||
}
|
||||
|
||||
onCurrentItemChanged: {
|
||||
formStack.currentItem.opened()
|
||||
}
|
||||
|
||||
initialItem: homeForm
|
||||
|
||||
Component {
|
||||
id: homeForm
|
||||
HomeForm {}
|
||||
}
|
||||
|
||||
Component {
|
||||
id: foodPlanForm
|
||||
FoodPlanForm {}
|
||||
}
|
||||
|
||||
Component {
|
||||
id: eventForm
|
||||
EventForm {
|
||||
day: formStack.eventDay
|
||||
}
|
||||
}
|
||||
|
||||
Component {
|
||||
id: settingsForm
|
||||
SettingsForm {}
|
||||
}
|
||||
|
||||
Component {
|
||||
id: filterForm
|
||||
FilterForm {}
|
||||
}
|
||||
|
||||
popEnter: Transition {
|
||||
XAnimator {
|
||||
from: (formStack.mirrored ? -1 : 1) * -formStack.width
|
||||
to: 0
|
||||
duration: 500
|
||||
easing.type: Easing.OutCubic
|
||||
}
|
||||
}
|
||||
|
||||
popExit: Transition {
|
||||
XAnimator {
|
||||
from: 0
|
||||
to: (formStack.mirrored ? -1 : 1) * formStack.width
|
||||
duration: 500
|
||||
easing.type: Easing.OutCubic
|
||||
}
|
||||
}
|
||||
|
||||
pushEnter: Transition {
|
||||
XAnimator {
|
||||
from: (formStack.mirrored ? -1 : 1) * formStack.width
|
||||
to: 0
|
||||
duration: 500
|
||||
easing.type: Easing.OutCubic
|
||||
}
|
||||
}
|
||||
|
||||
pushExit: Transition {
|
||||
XAnimator {
|
||||
from: 0
|
||||
to: (formStack.mirrored ? -1 : 1) * -formStack.width
|
||||
duration: 500
|
||||
easing.type: Easing.OutCubic
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
AppToolBar {
|
||||
id: toolBar
|
||||
|
||||
anchors {
|
||||
top: parent.top
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
topMargin: -60
|
||||
}
|
||||
|
||||
height: 50
|
||||
|
||||
Button {
|
||||
id:toolButton
|
||||
enabled: true
|
||||
anchors {
|
||||
left: parent.left
|
||||
verticalCenter: parent.verticalCenter
|
||||
leftMargin: parent.width *0.02
|
||||
}
|
||||
height: parent.height - parent.height * 0.5
|
||||
width: height
|
||||
|
||||
onClicked: {
|
||||
if (formStack.depth > 1) {
|
||||
formStack.pop()
|
||||
} else {
|
||||
drawer.open()
|
||||
}
|
||||
}
|
||||
|
||||
onPressed: toolButton.scale = 0.9
|
||||
onReleased: toolButton.scale = 1.0
|
||||
|
||||
background: Image {
|
||||
source: formStack.depth > 1 ? "qrc:/graphics/icons/backDark.png" : "qrc:/graphics/icons/drawer.png"
|
||||
height: parent.height
|
||||
width: parent.width
|
||||
Behavior on scale {
|
||||
PropertyAnimation {
|
||||
duration: 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
text: getText()
|
||||
anchors {
|
||||
verticalCenter: parent.verticalCenter
|
||||
left: toolButton.right
|
||||
leftMargin: parent.width * 0.02
|
||||
}
|
||||
font.bold: true
|
||||
color: "black"
|
||||
|
||||
function getText(){
|
||||
var titleString = "";
|
||||
for(var i=1; i<formStack.depth; i++){
|
||||
if(i > 1){
|
||||
titleString += " > "
|
||||
}
|
||||
|
||||
titleString += formStack.get(i).title
|
||||
}
|
||||
return(titleString)
|
||||
}
|
||||
}
|
||||
|
||||
Behavior on anchors.topMargin {
|
||||
NumberAnimation {
|
||||
duration: 500
|
||||
easing.type: Easing.OutCubic
|
||||
}
|
||||
}
|
||||
|
||||
states: [
|
||||
State {
|
||||
name: "closed"
|
||||
when: formStack.depth === 1
|
||||
PropertyChanges {
|
||||
target: toolBar
|
||||
anchors.topMargin: -60
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "open"
|
||||
when: formStack.depth > 1
|
||||
PropertyChanges {
|
||||
target: toolBar
|
||||
anchors.topMargin: 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,48 +0,0 @@
|
|||
import QtQuick 2.9
|
||||
import QtWebView 1.1
|
||||
import QtQuick.Controls 2.2
|
||||
|
||||
import QtWebView 1.1
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Controls.Styles 1.2
|
||||
|
||||
Page {
|
||||
id:root
|
||||
|
||||
objectName: "WebsitePage";
|
||||
|
||||
title: qsTr("Fanny Webseite")
|
||||
property string icon: "qrc:/graphics/FannyLogo_small.png"
|
||||
|
||||
property string link: "http://www.fanny-leicht.de/j34"
|
||||
|
||||
ProgressBar {
|
||||
id: progress
|
||||
width: parent.width
|
||||
anchors {
|
||||
top: parent.top
|
||||
}
|
||||
//z: Qt.platform.os === "android" ? -1 : 1
|
||||
visible: webView.loadProgress < 100
|
||||
value: webView.loadProgress === 100 ? 0 : webView.loadProgress / 100
|
||||
}
|
||||
|
||||
WebView {
|
||||
id: webView
|
||||
Keys.onBackPressed: webView.goBack()
|
||||
z: 0
|
||||
anchors {
|
||||
top: webView.loadProgress < 100 ? progress.bottom:parent.top
|
||||
bottom: parent.bottom
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
|
||||
url: link
|
||||
onLoadingChanged: {
|
||||
console.log(url)
|
||||
if (loadRequest.errorString)
|
||||
console.error(loadRequest.errorString);
|
||||
}
|
||||
}
|
||||
}
|
199
qml/main.qml
|
@ -1,133 +1,134 @@
|
|||
import QtQuick 2.9
|
||||
import QtQuick.Controls 2.2
|
||||
|
||||
import Backend 1.0
|
||||
|
||||
import "./Components"
|
||||
import "./Forms"
|
||||
import "./Pages"
|
||||
|
||||
ApplicationWindow {
|
||||
id: window
|
||||
visible: true
|
||||
width: 540
|
||||
height: 960
|
||||
|
||||
Item {
|
||||
id: app
|
||||
|
||||
anchors.fill: parent
|
||||
|
||||
property bool is_error
|
||||
property string error
|
||||
property bool initdone: false
|
||||
property bool firstinitdone: false
|
||||
|
||||
property string text_color: "black" //"#424753"
|
||||
property string background_color: "white"
|
||||
property string toolbar_color: "#312f38"
|
||||
property string textColor: "black" // "#424753"
|
||||
property string backgroundColor: "white"
|
||||
property string toolbarColor: "#312f38"
|
||||
|
||||
onBeforeRendering: {
|
||||
if(!firstinitdone){
|
||||
var isinit = _cppAppSettings.loadSetting("permanent")
|
||||
console.log("getinit");
|
||||
console.log(isinit);
|
||||
if(isinit === "0"){
|
||||
stackView.push("qrc:/LoginPage.qml", {});
|
||||
}
|
||||
}
|
||||
firstinitdone = true
|
||||
}
|
||||
state: "loggedIn"
|
||||
|
||||
Timer {
|
||||
//runs only one time at applictaion lauch
|
||||
property bool finished: true
|
||||
id: initTimer
|
||||
interval: 1;
|
||||
running: initdone === false
|
||||
repeat: finished
|
||||
onTriggered: {
|
||||
finished = false
|
||||
var init = _cppAppSettings.loadSetting("init")
|
||||
states: [
|
||||
State {
|
||||
name: "notLoggedIn"
|
||||
PropertyChanges {
|
||||
target: mainStack
|
||||
currPage: loginPage
|
||||
}
|
||||
},
|
||||
|
||||
var perm = _cppAppSettings.loadSetting("permanent")
|
||||
console.log("checkoldlogin:", perm);
|
||||
if(perm === "1"){
|
||||
console.log("Perm")
|
||||
var ret = _cppServerConn.login(_cppAppSettings.loadSetting("username"), _cppAppSettings.loadSetting("password"), true);
|
||||
if(ret === "OK"){
|
||||
initdone = true
|
||||
_cppAppSettings.writeSetting("init", 1);
|
||||
if(stackView.currentItem.objectName !== "MainPage"){
|
||||
stackView.push("qrc:/MainPage.qml", {});
|
||||
State {
|
||||
name: "loggedIn"
|
||||
PropertyChanges {
|
||||
target: mainStack
|
||||
currPage: mainPage
|
||||
}
|
||||
window.is_error = false;
|
||||
}
|
||||
else if(ret === "Keine Verbindung zum Server."){
|
||||
handleError(0)
|
||||
//initTimer.interval = 1000
|
||||
finished = true
|
||||
return
|
||||
}
|
||||
]
|
||||
|
||||
else {
|
||||
ret = _cppServerConn.checkConn()
|
||||
handleError(ret)
|
||||
}
|
||||
}
|
||||
else {
|
||||
initdone = false
|
||||
if(stackView.currentItem.objectName !== "LoginPage"){
|
||||
stackView.push("qrc:/LoginPage.qml")
|
||||
}
|
||||
}
|
||||
finished = true
|
||||
initdone = true
|
||||
}
|
||||
}
|
||||
ServerConn {
|
||||
id: serverConn
|
||||
|
||||
Timer {
|
||||
id: refreshTimer
|
||||
interval: 1000;
|
||||
running: initdone && stackView.currentItem.objectName !== "LoginPage"
|
||||
repeat: true
|
||||
onTriggered: {
|
||||
var ret = _cppServerConn.checkConn()
|
||||
handleError(ret)
|
||||
onStateChanged: {
|
||||
app.state = newState
|
||||
}
|
||||
}
|
||||
|
||||
StackView {
|
||||
id: stackView
|
||||
initialItem: "MainPage.qml"
|
||||
id: mainStack
|
||||
|
||||
property var currPage
|
||||
|
||||
anchors.fill: parent
|
||||
|
||||
onCurrPageChanged: {
|
||||
mainStack.replace(currPage)
|
||||
}
|
||||
|
||||
function handleError(error_code){
|
||||
if(error_code === 200){
|
||||
window.is_error = false;
|
||||
window.error = "";
|
||||
//initialItem: mainPage
|
||||
|
||||
Component {
|
||||
id: loginPage
|
||||
LoginPage {}
|
||||
}
|
||||
else if(error_code === 401){
|
||||
console.warn("401")
|
||||
_cppAppSettings.writeSetting("permanent", 0)
|
||||
_cppAppSettings.writeSetting("username", "")
|
||||
_cppAppSettings.writeSetting("password", "")
|
||||
if(["LoginPage"].indexOf(stackView.currentItem.objectName) < 0){
|
||||
console.log("switching to login page")
|
||||
stackView.push("qrc:/LoginPage.qml");
|
||||
|
||||
Component {
|
||||
id: mainPage
|
||||
MainPage {}
|
||||
}
|
||||
window.is_error = true;
|
||||
window.error = "Nicht angemeldet!!";
|
||||
}
|
||||
else if(error_code === 500){
|
||||
window.is_error = true;
|
||||
window.error = "Interner Server Fehler!";
|
||||
|
||||
function getErrorInfo(errorCode) {
|
||||
|
||||
var infoLevel
|
||||
// 0 - ok
|
||||
// 1 - info
|
||||
// 2 - error
|
||||
|
||||
var errorString
|
||||
var errorDescription
|
||||
|
||||
switch(errorCode) {
|
||||
case 0:
|
||||
infoLevel = 2
|
||||
errorString = "Keine Verbindung zum Server"
|
||||
errorDescription = "Bitte überprüfe deine Internetverbindung und versuche es erneut."
|
||||
break
|
||||
case 401:
|
||||
infoLevel = 2
|
||||
errorString = "Ungültige Zugangsdaten"
|
||||
errorDescription = "Der Server hat den Zugang verweigert, bitte überprüfe deine Zugangsdaten und versuche es erneut"
|
||||
break
|
||||
case 500:
|
||||
infoLevel = 2
|
||||
errorString = "Interner Server Fehler"
|
||||
errorDescription = "Scheinbar kann der Server die Anfrage im Moment nicht verarbeiten, bitte versuche es später erneut."
|
||||
break
|
||||
case 900:
|
||||
infoLevel = 2
|
||||
errorString = "Interner Verarbeitungsfehler"
|
||||
errorDescription = "Die Daten, die vom Server übertragen wurden, konnten nicht richtig verarbeitet werden, bitte versuche es später erneut."
|
||||
break
|
||||
case 901:
|
||||
infoLevel = 1
|
||||
errorString = "Keine Daten"
|
||||
errorDescription = "Es liegen keine aktuellen Daten vor."
|
||||
break
|
||||
case 902:
|
||||
infoLevel = 1
|
||||
errorString = "Alte Daten"
|
||||
errorDescription = "Es konnte keine Verbindung zum Server hergestellt werden, aber es sind noch alte Daten gespeichert."
|
||||
break
|
||||
default:
|
||||
infoLevel = 2
|
||||
errorString = "Unerwarteter Fehler ("+errorCode+")"
|
||||
errorDescription = "Unbekannter Fehler bei der Verbindung mit dem Server."
|
||||
}
|
||||
else if(error_code === 0){
|
||||
window.is_error = true;
|
||||
window.error = "Keine Verbindung zum Server!";
|
||||
|
||||
return([infoLevel, errorString, errorDescription])
|
||||
}
|
||||
else if(error_code === 404){
|
||||
//the testcon function calls a non existent file to be fast, so no error here
|
||||
window.is_error = false;
|
||||
}
|
||||
else if(error_code === 111){
|
||||
window.is_error = true;
|
||||
window.error = "Unbekannter interner Fehler!";
|
||||
}
|
||||
else {
|
||||
window.is_error = true;
|
||||
window.error = "Unbekannter Fehler! ("+error_code+")";
|
||||
|
||||
function landscape(){
|
||||
return(app.width > app.height)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
24
qml/qml.qrc
|
@ -1,13 +1,21 @@
|
|||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file>main.qml</file>
|
||||
<file>HomeForm.qml</file>
|
||||
<file>qtquickcontrols2.conf</file>
|
||||
<file>LoginPage.qml</file>
|
||||
<file>MainPage.qml</file>
|
||||
<file>AppToolBar.qml</file>
|
||||
<file>WebsitePage.qml</file>
|
||||
<file>FoodPlanForm.qml</file>
|
||||
<file>ProgressCircle.qml</file>
|
||||
<file>Pages/LoginPage.qml</file>
|
||||
<file>Components/AppToolBar.qml</file>
|
||||
<file>Forms/FoodPlanForm.qml</file>
|
||||
<file>Components/ProgressCircle.qml</file>
|
||||
<file>Forms/EventForm.qml</file>
|
||||
<file>Pages/MainPage.qml</file>
|
||||
<file>Components/FancyButton.qml</file>
|
||||
<file>Forms/HomeForm.qml</file>
|
||||
<file>Components/FoodPlanView.qml</file>
|
||||
<file>Forms/LoadingForm.qml</file>
|
||||
<file>Components/EventView.qml</file>
|
||||
<file>Components/InfoArea.qml</file>
|
||||
<file>Forms/SettingsForm.qml</file>
|
||||
<file>Forms/FilterForm.qml</file>
|
||||
<file>Components/SettingsDelegate.qml</file>
|
||||
<file>Components/FannyDataListView.qml</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
; This file can be edited to change the style of the application
|
||||
; Read "Qt Quick Controls 2 Configuration File" for details:
|
||||
; http://doc.qt.io/qt-5/qtquickcontrols2-configuration.html
|
||||
|
||||
[Controls]
|
||||
Style=Material
|
||||
|
||||
[Material]
|
||||
; Primary="#312f38"
|
31
readme.md
|
@ -1,23 +1,22 @@
|
|||
<h1>Dies ist die offizielle entwicklungs - repo der Fanny-App</h1>
|
||||
<p>Die App bietet die Möglichkeit, komfortabel auf den Vertretungsplan des Fanny-Leicht-Gymnasiums in Stuttgart zuzugreifen.</p>
|
||||
# Dies ist die offizielle entwicklungs - repo der Fanny-App
|
||||
Die App bietet die Möglichkeit, komfortabel auf den Vertretungsplan des Fanny-Leicht-Gymnasiums in Stuttgart zuzugreifen.
|
||||
|
||||
<h4>Funktionen</h4>
|
||||
<p>- Zugriff auf den Vertretungsplan</p>
|
||||
<p>- Anzeige des Speiseplanes des Treffpunkt Fanny</p>
|
||||
<p>- Zugriff auf die Fanny-Webseite (www.fanny-leicht.de)
|
||||
### Funktionen
|
||||
- Zugriff auf den Vertretungsplan
|
||||
- Anzeige des Speiseplanes des Treffpunkt Fanny
|
||||
|
||||
<h4>Geplante Funktionen</h4>
|
||||
<p>- Sortierung der Ereignsse pro Klasse</p>
|
||||
### Geplante Funktionen
|
||||
- Sortierung der Ereignsse pro Klasse
|
||||
|
||||
<h4>Weitere Informationen:</h4>
|
||||
<p>Wenn du eine Idee für eine neue Funktion hast, erstelle einfach eine issue (dafür musst du dich hier registrieren),<br>
|
||||
oder schreibe eine Mail an development@itsblue.de.</p>
|
||||
<p>Falls du dich gerne an diesem Projekt beteiligen würdest (als Programmier, Designer o.ä.),<br>
|
||||
schreibe bitte eine Mail an contact@itsblue.de, oder frag mich in der Schule.</p>
|
||||
<h5>Aktueller Status:</h5>
|
||||
<p>Warte auf die Anpassung des Vertretungsplanes.</p>
|
||||
### Weitere Informationen:
|
||||
Wenn du eine Idee für eine neue Funktion hast, erstelle einfach eine issue (dafür musst du dich hier registrieren),
|
||||
oder schreibe eine Mail an development@itsblue.de.
|
||||
Falls du dich gerne an diesem Projekt beteiligen würdest (als Programmier, Designer o.ä.),
|
||||
schreibe bitte eine Mail an contact@itsblue.de, oder frag mich in der Schule.
|
||||
#### Aktueller Status:
|
||||
Warte auf die Anpassung des Vertretungsplanes.
|
||||
|
||||
<h4>Downloads:</h4>
|
||||
### Downloads:
|
||||
<p><a href="https://play.google.com/store/apps/details?id=com.itsblue.flgvertretung&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1" target="_blank"><img src="https://play.google.com/intl/en_us/badges/images/generic/de_badge_web_generic.png" alt="Jetzt bei Google Play" width="25%"/></a><p>
|
||||
<p>- <a href="https://git.itsblue.de/dorian/fanny-app/raw/master/release/mac%20OS/fannyapp.dmg">Mac OS</a></p>
|
||||
<p>- <a href="https://git.itsblue.de/dorian/fanny-app/raw/master/release/windows/fannyapp-setup.exe">Windows</a></p>
|
||||
|
|
BIN
release/mac OS/.DS_Store
vendored
1
release/mac OS/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
*.DS_Store
|
14
shared.qrc
|
@ -1,14 +0,0 @@
|
|||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file>favicon.png</file>
|
||||
<file>graphics/sheute.png</file>
|
||||
<file>graphics/smorgen.png</file>
|
||||
<file>graphics/chat_background.jpg</file>
|
||||
<file>graphics/FannyLogo.png</file>
|
||||
<file>graphics/TreffpunktFannyLogo.png</file>
|
||||
<file>graphics/icons/back.png</file>
|
||||
<file>graphics/icons/drawer.png</file>
|
||||
<file>graphics/icons/menu.png</file>
|
||||
<file>graphics/FannyLogo_small.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
BIN
shared/circle.png
Normal file
After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
BIN
shared/favicon.xcf
Normal file
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 8.3 KiB |
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 129 KiB |
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 117 KiB |
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 289 B After Width: | Height: | Size: 289 B |
BIN
shared/graphics/icons/delete.png
Normal file
After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 126 B After Width: | Height: | Size: 126 B |
BIN
shared/graphics/icons/hide.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
shared/graphics/icons/logoutBlack.jpg
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
shared/graphics/icons/logoutBlack.png
Normal file
After Width: | Height: | Size: 4.4 KiB |
BIN
shared/graphics/icons/logoutRed.png
Normal file
After Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 158 B After Width: | Height: | Size: 158 B |
BIN
shared/graphics/icons/settingsBlack.png
Normal file
After Width: | Height: | Size: 324 KiB |
BIN
shared/graphics/icons/view.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
shared/graphics/images/FannyLogoDark.jpg
Normal file
After Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
BIN
shared/graphics/images/TreffpunktFannyLogoDark.png
Normal file
After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 77 KiB |
Before Width: | Height: | Size: 5 KiB After Width: | Height: | Size: 5 KiB |
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 5.8 KiB |
485
shared/samplehtml/Download File-html.html
Normal file
|
@ -0,0 +1,485 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||||
<head>
|
||||
<title>Download File-html.html</title>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
<br/>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
p {margin: 0; padding: 0;} .ft10{font-size:17px;font-family:Times;color:#000000;}
|
||||
.ft11{font-size:16px;font-family:Times;color:#000000;}
|
||||
.ft12{font-size:25px;font-family:Times;color:#000000;}
|
||||
.ft13{font-size:14px;font-family:Times;color:#000000;}
|
||||
.ft14{font-size:16px;font-family:Times;color:#000000;}
|
||||
.ft15{font-size:16px;line-height:23px;font-family:Times;color:#000000;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body bgcolor="#A0A0A0" vlink="blue" link="blue">
|
||||
<div id="page1-div" style="position:relative;width:893px;height:1262px;">
|
||||
<p style="position:absolute;top:10px;left:3px;white-space:nowrap" class="ft10"><b>D-70563 FANNY-LEICHT-GYMN.</b></p>
|
||||
<p style="position:absolute;top:32px;left:3px;white-space:nowrap" class="ft11">STUTTGART, F.-LEICHT-STR. 13</p>
|
||||
<p style="position:absolute;top:9px;left:332px;white-space:nowrap" class="ft15">Schuljahr 2018/19 - 1. Halbjahr<br/>gültig ab 10. September 2018</p>
|
||||
<p style="position:absolute;top:10px;left:708px;white-space:nowrap" class="ft10"><b>Untis 2017</b></p>
|
||||
<p style="position:absolute;top:32px;left:671px;white-space:nowrap" class="ft11">13.12.2018  9:04</p>
|
||||
<p style="position:absolute;top:64px;left:3px;white-space:nowrap" class="ft12"><b>Klasse  13.12. / Donnerstag Woche-A</b></p>
|
||||
<p style="position:absolute;top:111px;left:3px;white-space:nowrap" class="ft13">Ordnungsdienst: Klasse 10a</p>
|
||||
<p style="position:absolute;top:172px;left:3px;white-space:nowrap" class="ft11">Kl.</p>
|
||||
<p style="position:absolute;top:172px;left:55px;white-space:nowrap" class="ft11">Std.</p>
|
||||
<p style="position:absolute;top:172px;left:123px;white-space:nowrap" class="ft11">Vertr. Fach Rau nach</p>
|
||||
<p style="position:absolute;top:172px;left:391px;white-space:nowrap" class="ft11">Vertretungs-Text</p>
|
||||
<p style="position:absolute;top:194px;left:3px;white-space:nowrap" class="ft11">5b</p>
|
||||
<p style="position:absolute;top:194px;left:55px;white-space:nowrap" class="ft11">1</p>
|
||||
<p style="position:absolute;top:194px;left:123px;white-space:nowrap" class="ft14"><i>Hei</i></p>
|
||||
<p style="position:absolute;top:194px;left:178px;white-space:nowrap" class="ft14"><i>D</i></p>
|
||||
<p style="position:absolute;top:194px;left:233px;white-space:nowrap" class="ft11">---</p>
|
||||
<p style="position:absolute;top:194px;left:275px;white-space:nowrap" class="ft11">Entfall</p>
|
||||
<p style="position:absolute;top:217px;left:3px;white-space:nowrap" class="ft11">5b</p>
|
||||
<p style="position:absolute;top:217px;left:55px;white-space:nowrap" class="ft11">2</p>
|
||||
<p style="position:absolute;top:217px;left:123px;white-space:nowrap" class="ft11">Fu</p>
|
||||
<p style="position:absolute;top:217px;left:178px;white-space:nowrap" class="ft11">D</p>
|
||||
<p style="position:absolute;top:217px;left:233px;white-space:nowrap" class="ft11">114</p>
|
||||
<p style="position:absolute;top:217px;left:391px;white-space:nowrap" class="ft11">Hei / Aufgaben, Arbeitsheft!</p>
|
||||
<p style="position:absolute;top:240px;left:3px;white-space:nowrap" class="ft11">5b</p>
|
||||
<p style="position:absolute;top:240px;left:55px;white-space:nowrap" class="ft11">3</p>
|
||||
<p style="position:absolute;top:240px;left:123px;white-space:nowrap" class="ft11">Oe</p>
|
||||
<p style="position:absolute;top:240px;left:178px;white-space:nowrap" class="ft11">M</p>
|
||||
<p style="position:absolute;top:240px;left:233px;white-space:nowrap" class="ft11">114</p>
|
||||
<p style="position:absolute;top:240px;left:391px;white-space:nowrap" class="ft11">Ei / Aufgaben</p>
|
||||
<p style="position:absolute;top:263px;left:3px;white-space:nowrap" class="ft11">5b</p>
|
||||
<p style="position:absolute;top:263px;left:55px;white-space:nowrap" class="ft11">4</p>
|
||||
<p style="position:absolute;top:263px;left:123px;white-space:nowrap" class="ft11">Rm</p>
|
||||
<p style="position:absolute;top:263px;left:178px;white-space:nowrap" class="ft11">M</p>
|
||||
<p style="position:absolute;top:263px;left:233px;white-space:nowrap" class="ft11">114</p>
|
||||
<p style="position:absolute;top:263px;left:391px;white-space:nowrap" class="ft11">Ei / Aufgaben</p>
|
||||
<p style="position:absolute;top:285px;left:3px;white-space:nowrap" class="ft11">6bc</p>
|
||||
<p style="position:absolute;top:285px;left:55px;white-space:nowrap" class="ft11">5</p>
|
||||
<p style="position:absolute;top:285px;left:123px;white-space:nowrap" class="ft11">Sf</p>
|
||||
<p style="position:absolute;top:285px;left:178px;white-space:nowrap" class="ft11">EvR</p>
|
||||
<p style="position:absolute;top:285px;left:233px;white-space:nowrap" class="ft11">321</p>
|
||||
<p style="position:absolute;top:285px;left:391px;white-space:nowrap" class="ft11">Bü / Aufgaben</p>
|
||||
<p style="position:absolute;top:306px;left:3px;white-space:nowrap" class="ft11">6bc</p>
|
||||
<p style="position:absolute;top:306px;left:55px;white-space:nowrap" class="ft11">5</p>
|
||||
<p style="position:absolute;top:306px;left:123px;white-space:nowrap" class="ft11">Dk</p>
|
||||
<p style="position:absolute;top:306px;left:178px;white-space:nowrap" class="ft11">KR</p>
|
||||
<p style="position:absolute;top:306px;left:233px;white-space:nowrap" class="ft11">121</p>
|
||||
<p style="position:absolute;top:306px;left:391px;white-space:nowrap" class="ft11">We / Aufgaben</p>
|
||||
<p style="position:absolute;top:328px;left:3px;white-space:nowrap" class="ft11">6bc</p>
|
||||
<p style="position:absolute;top:328px;left:55px;white-space:nowrap" class="ft11">6</p>
|
||||
<p style="position:absolute;top:328px;left:123px;white-space:nowrap" class="ft14"><i>Bü</i></p>
|
||||
<p style="position:absolute;top:328px;left:178px;white-space:nowrap" class="ft14"><i>EvR</i></p>
|
||||
<p style="position:absolute;top:328px;left:233px;white-space:nowrap" class="ft11">---</p>
|
||||
<p style="position:absolute;top:328px;left:275px;white-space:nowrap" class="ft11">Entfall</p>
|
||||
<p style="position:absolute;top:349px;left:3px;white-space:nowrap" class="ft11">6bc</p>
|
||||
<p style="position:absolute;top:349px;left:55px;white-space:nowrap" class="ft11">6</p>
|
||||
<p style="position:absolute;top:349px;left:123px;white-space:nowrap" class="ft14"><i>We</i></p>
|
||||
<p style="position:absolute;top:349px;left:178px;white-space:nowrap" class="ft14"><i>KR</i></p>
|
||||
<p style="position:absolute;top:349px;left:233px;white-space:nowrap" class="ft11">---</p>
|
||||
<p style="position:absolute;top:349px;left:275px;white-space:nowrap" class="ft11">Entfall</p>
|
||||
<p style="position:absolute;top:372px;left:3px;white-space:nowrap" class="ft11">6d</p>
|
||||
<p style="position:absolute;top:372px;left:55px;white-space:nowrap" class="ft11">6</p>
|
||||
<p style="position:absolute;top:371px;left:123px;white-space:nowrap" class="ft14"><i>Ku</i></p>
|
||||
<p style="position:absolute;top:371px;left:178px;white-space:nowrap" class="ft14"><i>Ek</i></p>
|
||||
<p style="position:absolute;top:372px;left:233px;white-space:nowrap" class="ft11">---</p>
|
||||
<p style="position:absolute;top:372px;left:275px;white-space:nowrap" class="ft11">Entfall</p>
|
||||
<p style="position:absolute;top:394px;left:3px;white-space:nowrap" class="ft11">7b</p>
|
||||
<p style="position:absolute;top:394px;left:55px;white-space:nowrap" class="ft11">2</p>
|
||||
<p style="position:absolute;top:394px;left:123px;white-space:nowrap" class="ft11">Ga</p>
|
||||
<p style="position:absolute;top:394px;left:178px;white-space:nowrap" class="ft11">G</p>
|
||||
<p style="position:absolute;top:394px;left:233px;white-space:nowrap" class="ft11">414</p>
|
||||
<p style="position:absolute;top:394px;left:391px;white-space:nowrap" class="ft11">KA Fkr</p>
|
||||
<p style="position:absolute;top:417px;left:3px;white-space:nowrap" class="ft11">7b</p>
|
||||
<p style="position:absolute;top:417px;left:55px;white-space:nowrap" class="ft11">8</p>
|
||||
<p style="position:absolute;top:417px;left:123px;white-space:nowrap" class="ft14"><i>Gg</i></p>
|
||||
<p style="position:absolute;top:417px;left:178px;white-space:nowrap" class="ft14"><i>BK</i></p>
|
||||
<p style="position:absolute;top:417px;left:233px;white-space:nowrap" class="ft11">---</p>
|
||||
<p style="position:absolute;top:417px;left:275px;white-space:nowrap" class="ft11">Mi-12.12. / 1</p>
|
||||
<p style="position:absolute;top:440px;left:3px;white-space:nowrap" class="ft11">7b</p>
|
||||
<p style="position:absolute;top:440px;left:55px;white-space:nowrap" class="ft11">9</p>
|
||||
<p style="position:absolute;top:439px;left:123px;white-space:nowrap" class="ft14"><i>Gg</i></p>
|
||||
<p style="position:absolute;top:439px;left:178px;white-space:nowrap" class="ft14"><i>BK</i></p>
|
||||
<p style="position:absolute;top:440px;left:233px;white-space:nowrap" class="ft11">---</p>
|
||||
<p style="position:absolute;top:440px;left:275px;white-space:nowrap" class="ft11">Mi-12.12. / 2</p>
|
||||
<p style="position:absolute;top:462px;left:3px;white-space:nowrap" class="ft11">7c</p>
|
||||
<p style="position:absolute;top:462px;left:55px;white-space:nowrap" class="ft11">8 - 9</p>
|
||||
<p style="position:absolute;top:462px;left:123px;white-space:nowrap" class="ft14"><i>Gw</i></p>
|
||||
<p style="position:absolute;top:462px;left:178px;white-space:nowrap" class="ft14"><i>G</i></p>
|
||||
<p style="position:absolute;top:462px;left:233px;white-space:nowrap" class="ft11">---</p>
|
||||
<p style="position:absolute;top:462px;left:275px;white-space:nowrap" class="ft11">Entfall</p>
|
||||
<p style="position:absolute;top:485px;left:3px;white-space:nowrap" class="ft11">7d</p>
|
||||
<p style="position:absolute;top:485px;left:55px;white-space:nowrap" class="ft11">1</p>
|
||||
<p style="position:absolute;top:485px;left:123px;white-space:nowrap" class="ft14"><i>Ku</i></p>
|
||||
<p style="position:absolute;top:485px;left:178px;white-space:nowrap" class="ft14"><i>D</i></p>
|
||||
<p style="position:absolute;top:485px;left:233px;white-space:nowrap" class="ft11">---</p>
|
||||
<p style="position:absolute;top:485px;left:275px;white-space:nowrap" class="ft11">Entfall</p>
|
||||
<p style="position:absolute;top:508px;left:3px;white-space:nowrap" class="ft11">7d</p>
|
||||
<p style="position:absolute;top:508px;left:55px;white-space:nowrap" class="ft11">2</p>
|
||||
<p style="position:absolute;top:508px;left:123px;white-space:nowrap" class="ft11">Oz</p>
|
||||
<p style="position:absolute;top:508px;left:178px;white-space:nowrap" class="ft11">D</p>
|
||||
<p style="position:absolute;top:508px;left:233px;white-space:nowrap" class="ft11">416</p>
|
||||
<p style="position:absolute;top:508px;left:391px;white-space:nowrap" class="ft11">Ku / Aufgaben</p>
|
||||
<p style="position:absolute;top:530px;left:3px;white-space:nowrap" class="ft11">8a</p>
|
||||
<p style="position:absolute;top:530px;left:55px;white-space:nowrap" class="ft11">1 - 2</p>
|
||||
<p style="position:absolute;top:530px;left:123px;white-space:nowrap" class="ft14"><i>Ei</i></p>
|
||||
<p style="position:absolute;top:530px;left:178px;white-space:nowrap" class="ft14"><i>Ch</i></p>
|
||||
<p style="position:absolute;top:530px;left:233px;white-space:nowrap" class="ft11">---</p>
|
||||
<p style="position:absolute;top:530px;left:275px;white-space:nowrap" class="ft11">Entfall</p>
|
||||
<p style="position:absolute;top:530px;left:391px;white-space:nowrap" class="ft11">KEINE KA</p>
|
||||
<p style="position:absolute;top:553px;left:3px;white-space:nowrap" class="ft11">9ac</p>
|
||||
<p style="position:absolute;top:553px;left:55px;white-space:nowrap" class="ft11">8 - 9</p>
|
||||
<p style="position:absolute;top:553px;left:123px;white-space:nowrap" class="ft14"><i>Lk</i></p>
|
||||
<p style="position:absolute;top:553px;left:178px;white-space:nowrap" class="ft14"><i>SpJ</i></p>
|
||||
<p style="position:absolute;top:553px;left:233px;white-space:nowrap" class="ft11">---</p>
|
||||
<p style="position:absolute;top:553px;left:275px;white-space:nowrap" class="ft11">Entfall</p>
|
||||
<p style="position:absolute;top:576px;left:3px;white-space:nowrap" class="ft11">9c</p>
|
||||
<p style="position:absolute;top:576px;left:55px;white-space:nowrap" class="ft11">1 - 2</p>
|
||||
<p style="position:absolute;top:576px;left:123px;white-space:nowrap" class="ft11">Jw</p>
|
||||
<p style="position:absolute;top:576px;left:178px;white-space:nowrap" class="ft11">Gk</p>
|
||||
<p style="position:absolute;top:576px;left:233px;white-space:nowrap" class="ft11">322</p>
|
||||
<p style="position:absolute;top:576px;left:391px;white-space:nowrap" class="ft11">Raum!</p>
|
||||
<p style="position:absolute;top:599px;left:3px;white-space:nowrap" class="ft11">9c</p>
|
||||
<p style="position:absolute;top:599px;left:55px;white-space:nowrap" class="ft11">3</p>
|
||||
<p style="position:absolute;top:599px;left:123px;white-space:nowrap" class="ft11">Hf</p>
|
||||
<p style="position:absolute;top:599px;left:178px;white-space:nowrap" class="ft11">D</p>
|
||||
<p style="position:absolute;top:599px;left:233px;white-space:nowrap" class="ft11">220</p>
|
||||
<p style="position:absolute;top:599px;left:391px;white-space:nowrap" class="ft11">Hei / Aufgaben</p>
|
||||
<p style="position:absolute;top:621px;left:3px;white-space:nowrap" class="ft11">9c</p>
|
||||
<p style="position:absolute;top:621px;left:55px;white-space:nowrap" class="ft11">4</p>
|
||||
<p style="position:absolute;top:621px;left:123px;white-space:nowrap" class="ft11">Bkn</p>
|
||||
<p style="position:absolute;top:621px;left:178px;white-space:nowrap" class="ft11">D</p>
|
||||
<p style="position:absolute;top:621px;left:233px;white-space:nowrap" class="ft11">220</p>
|
||||
<p style="position:absolute;top:621px;left:391px;white-space:nowrap" class="ft11">Hei / Aufgaben</p>
|
||||
<p style="position:absolute;top:644px;left:3px;white-space:nowrap" class="ft11">9d</p>
|
||||
<p style="position:absolute;top:644px;left:55px;white-space:nowrap" class="ft11">1</p>
|
||||
<p style="position:absolute;top:644px;left:123px;white-space:nowrap" class="ft14"><i>Rt</i></p>
|
||||
<p style="position:absolute;top:644px;left:178px;white-space:nowrap" class="ft14"><i>Gk</i></p>
|
||||
<p style="position:absolute;top:644px;left:233px;white-space:nowrap" class="ft11">---</p>
|
||||
<p style="position:absolute;top:644px;left:275px;white-space:nowrap" class="ft11">Do-13.12. / 3</p>
|
||||
<p style="position:absolute;top:667px;left:3px;white-space:nowrap" class="ft11">9d</p>
|
||||
<p style="position:absolute;top:667px;left:55px;white-space:nowrap" class="ft11">2</p>
|
||||
<p style="position:absolute;top:666px;left:123px;white-space:nowrap" class="ft14"><i>Rt</i></p>
|
||||
<p style="position:absolute;top:666px;left:178px;white-space:nowrap" class="ft14"><i>Gk</i></p>
|
||||
<p style="position:absolute;top:667px;left:233px;white-space:nowrap" class="ft11">---</p>
|
||||
<p style="position:absolute;top:667px;left:275px;white-space:nowrap" class="ft11">Do-13.12. / 4</p>
|
||||
<p style="position:absolute;top:689px;left:3px;white-space:nowrap" class="ft11">9d</p>
|
||||
<p style="position:absolute;top:689px;left:55px;white-space:nowrap" class="ft11">3</p>
|
||||
<p style="position:absolute;top:689px;left:123px;white-space:nowrap" class="ft11">Rt</p>
|
||||
<p style="position:absolute;top:689px;left:178px;white-space:nowrap" class="ft11">Gk</p>
|
||||
<p style="position:absolute;top:689px;left:233px;white-space:nowrap" class="ft11">218</p>
|
||||
<p style="position:absolute;top:712px;left:3px;white-space:nowrap" class="ft11">9d</p>
|
||||
<p style="position:absolute;top:712px;left:55px;white-space:nowrap" class="ft11">4</p>
|
||||
<p style="position:absolute;top:712px;left:123px;white-space:nowrap" class="ft11">Rt</p>
|
||||
<p style="position:absolute;top:712px;left:178px;white-space:nowrap" class="ft11">Gk</p>
|
||||
<p style="position:absolute;top:712px;left:233px;white-space:nowrap" class="ft11">218</p>
|
||||
<p style="position:absolute;top:735px;left:3px;white-space:nowrap" class="ft11">9d</p>
|
||||
<p style="position:absolute;top:735px;left:55px;white-space:nowrap" class="ft11">5</p>
|
||||
<p style="position:absolute;top:735px;left:123px;white-space:nowrap" class="ft11">Ni</p>
|
||||
<p style="position:absolute;top:735px;left:178px;white-space:nowrap" class="ft11">BK</p>
|
||||
<p style="position:absolute;top:735px;left:233px;white-space:nowrap" class="ft11">126</p>
|
||||
<p style="position:absolute;top:757px;left:3px;white-space:nowrap" class="ft11">9d</p>
|
||||
<p style="position:absolute;top:757px;left:55px;white-space:nowrap" class="ft11">6</p>
|
||||
<p style="position:absolute;top:757px;left:123px;white-space:nowrap" class="ft11">Ni</p>
|
||||
<p style="position:absolute;top:757px;left:178px;white-space:nowrap" class="ft11">BK</p>
|
||||
<p style="position:absolute;top:757px;left:233px;white-space:nowrap" class="ft11">126</p>
|
||||
<p style="position:absolute;top:780px;left:3px;white-space:nowrap" class="ft11">9d</p>
|
||||
<p style="position:absolute;top:780px;left:55px;white-space:nowrap" class="ft11">8</p>
|
||||
<p style="position:absolute;top:780px;left:123px;white-space:nowrap" class="ft14"><i>Ni</i></p>
|
||||
<p style="position:absolute;top:780px;left:178px;white-space:nowrap" class="ft14"><i>BK</i></p>
|
||||
<p style="position:absolute;top:780px;left:233px;white-space:nowrap" class="ft11">---</p>
|
||||
<p style="position:absolute;top:780px;left:275px;white-space:nowrap" class="ft11">Do-13.12. / 5</p>
|
||||
<p style="position:absolute;top:803px;left:3px;white-space:nowrap" class="ft11">9d</p>
|
||||
<p style="position:absolute;top:803px;left:55px;white-space:nowrap" class="ft11">9</p>
|
||||
<p style="position:absolute;top:802px;left:123px;white-space:nowrap" class="ft14"><i>Ni</i></p>
|
||||
<p style="position:absolute;top:802px;left:178px;white-space:nowrap" class="ft14"><i>BK</i></p>
|
||||
<p style="position:absolute;top:803px;left:233px;white-space:nowrap" class="ft11">---</p>
|
||||
<p style="position:absolute;top:803px;left:275px;white-space:nowrap" class="ft11">Do-13.12. / 6</p>
|
||||
<p style="position:absolute;top:825px;left:3px;white-space:nowrap" class="ft11">10b</p>
|
||||
<p style="position:absolute;top:825px;left:55px;white-space:nowrap" class="ft11">10 - 11</p>
|
||||
<p style="position:absolute;top:825px;left:123px;white-space:nowrap" class="ft14"><i>Fe</i></p>
|
||||
<p style="position:absolute;top:825px;left:178px;white-space:nowrap" class="ft14"><i>Ph</i></p>
|
||||
<p style="position:absolute;top:825px;left:233px;white-space:nowrap" class="ft11">---</p>
|
||||
<p style="position:absolute;top:825px;left:275px;white-space:nowrap" class="ft11">Entfall</p>
|
||||
<p style="position:absolute;top:848px;left:3px;white-space:nowrap" class="ft11">11</p>
|
||||
<p style="position:absolute;top:848px;left:55px;white-space:nowrap" class="ft11">3 - 4</p>
|
||||
<p style="position:absolute;top:848px;left:123px;white-space:nowrap" class="ft14"><i>Ft</i></p>
|
||||
<p style="position:absolute;top:848px;left:178px;white-space:nowrap" class="ft14"><i>g4</i></p>
|
||||
<p style="position:absolute;top:848px;left:233px;white-space:nowrap" class="ft11">---</p>
|
||||
<p style="position:absolute;top:848px;left:275px;white-space:nowrap" class="ft11">Entfall</p>
|
||||
<p style="position:absolute;top:871px;left:3px;white-space:nowrap" class="ft11">11</p>
|
||||
<p style="position:absolute;top:871px;left:55px;white-space:nowrap" class="ft11">5</p>
|
||||
<p style="position:absolute;top:870px;left:123px;white-space:nowrap" class="ft14"><i>Ei</i></p>
|
||||
<p style="position:absolute;top:870px;left:178px;white-space:nowrap" class="ft14"><i>M1</i></p>
|
||||
<p style="position:absolute;top:871px;left:233px;white-space:nowrap" class="ft11">---</p>
|
||||
<p style="position:absolute;top:871px;left:275px;white-space:nowrap" class="ft11">Entfall</p>
|
||||
<p style="position:absolute;top:893px;left:3px;white-space:nowrap" class="ft11">11</p>
|
||||
<p style="position:absolute;top:893px;left:55px;white-space:nowrap" class="ft11">7</p>
|
||||
<p style="position:absolute;top:893px;left:123px;white-space:nowrap" class="ft11">Gt</p>
|
||||
<p style="position:absolute;top:893px;left:178px;white-space:nowrap" class="ft11">sem1 324</p>
|
||||
<p style="position:absolute;top:893px;left:391px;white-space:nowrap" class="ft11">geteilte Gruppen Schwimmen / </p>
|
||||
<p style="position:absolute;top:916px;left:3px;white-space:nowrap" class="ft11">11</p>
|
||||
<p style="position:absolute;top:916px;left:55px;white-space:nowrap" class="ft11">8 - 9</p>
|
||||
<p style="position:absolute;top:916px;left:123px;white-space:nowrap" class="ft11">Ro</p>
|
||||
<p style="position:absolute;top:916px;left:178px;white-space:nowrap" class="ft11">sem1 ???</p>
|
||||
<p style="position:absolute;top:939px;left:3px;white-space:nowrap" class="ft11">11</p>
|
||||
<p style="position:absolute;top:939px;left:55px;white-space:nowrap" class="ft11">10 - 11</p>
|
||||
<p style="position:absolute;top:939px;left:123px;white-space:nowrap" class="ft14"><i>Lk</i></p>
|
||||
<p style="position:absolute;top:939px;left:178px;white-space:nowrap" class="ft14"><i>sp3</i></p>
|
||||
<p style="position:absolute;top:939px;left:233px;white-space:nowrap" class="ft11">---</p>
|
||||
<p style="position:absolute;top:939px;left:275px;white-space:nowrap" class="ft11">Entfall</p>
|
||||
<p style="position:absolute;top:962px;left:3px;white-space:nowrap" class="ft11">12</p>
|
||||
<p style="position:absolute;top:962px;left:55px;white-space:nowrap" class="ft11">1 - 2</p>
|
||||
<p style="position:absolute;top:962px;left:123px;white-space:nowrap" class="ft11">Ni</p>
|
||||
<p style="position:absolute;top:962px;left:178px;white-space:nowrap" class="ft11">bk1</p>
|
||||
<p style="position:absolute;top:962px;left:233px;white-space:nowrap" class="ft11">412</p>
|
||||
<p style="position:absolute;top:962px;left:391px;white-space:nowrap" class="ft11">Raum!</p>
|
||||
<p style="position:absolute;top:984px;left:3px;white-space:nowrap" class="ft11">12</p>
|
||||
<p style="position:absolute;top:984px;left:55px;white-space:nowrap" class="ft11">5</p>
|
||||
<p style="position:absolute;top:984px;left:123px;white-space:nowrap" class="ft14"><i>Ku</i></p>
|
||||
<p style="position:absolute;top:984px;left:178px;white-space:nowrap" class="ft14"><i>D2</i></p>
|
||||
<p style="position:absolute;top:984px;left:233px;white-space:nowrap" class="ft11">---</p>
|
||||
<p style="position:absolute;top:984px;left:275px;white-space:nowrap" class="ft11">Entfall</p>
|
||||
<p style="position:absolute;top:1007px;left:3px;white-space:nowrap" class="ft11">1112 8 - 9</p>
|
||||
<p style="position:absolute;top:1007px;left:123px;white-space:nowrap" class="ft14"><i>Fe</i></p>
|
||||
<p style="position:absolute;top:1007px;left:178px;white-space:nowrap" class="ft14"><i>vma</i></p>
|
||||
<p style="position:absolute;top:1007px;left:233px;white-space:nowrap" class="ft11">---</p>
|
||||
<p style="position:absolute;top:1007px;left:275px;white-space:nowrap" class="ft11">Entfall</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||||
<head>
|
||||
<title>Download File-html.html</title>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
<br/>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
p {margin: 0; padding: 0;} .ft20{font-size:17px;font-family:Times;color:#000000;}
|
||||
.ft21{font-size:16px;font-family:Times;color:#000000;}
|
||||
.ft22{font-size:25px;font-family:Times;color:#000000;}
|
||||
.ft23{font-size:14px;font-family:Times;color:#000000;}
|
||||
.ft24{font-size:16px;font-family:Times;color:#000000;}
|
||||
.ft25{font-size:16px;line-height:23px;font-family:Times;color:#000000;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body bgcolor="#A0A0A0" vlink="blue" link="blue">
|
||||
<div id="page2-div" style="position:relative;width:893px;height:1262px;">
|
||||
<p style="position:absolute;top:10px;left:3px;white-space:nowrap" class="ft20"><b>D-70563 FANNY-LEICHT-GYMN.</b></p>
|
||||
<p style="position:absolute;top:32px;left:3px;white-space:nowrap" class="ft21">STUTTGART, F.-LEICHT-STR. 13</p>
|
||||
<p style="position:absolute;top:9px;left:332px;white-space:nowrap" class="ft25">Schuljahr 2018/19 - 1. Halbjahr<br/>gültig ab 10. September 2018</p>
|
||||
<p style="position:absolute;top:10px;left:708px;white-space:nowrap" class="ft20"><b>Untis 2017</b></p>
|
||||
<p style="position:absolute;top:32px;left:671px;white-space:nowrap" class="ft21">13.12.2018  8:11</p>
|
||||
<p style="position:absolute;top:64px;left:3px;white-space:nowrap" class="ft22"><b>Klasse  14.12. / Freitag Woche-A</b></p>
|
||||
<p style="position:absolute;top:111px;left:3px;white-space:nowrap" class="ft23">Ordnungsdienst: Klasse 10a</p>
|
||||
<p style="position:absolute;top:172px;left:3px;white-space:nowrap" class="ft21">Kl.</p>
|
||||
<p style="position:absolute;top:172px;left:55px;white-space:nowrap" class="ft21">Std. Vertr. Fach Rau nach</p>
|
||||
<p style="position:absolute;top:172px;left:398px;white-space:nowrap" class="ft21">Vertretungs-Text</p>
|
||||
<p style="position:absolute;top:194px;left:3px;white-space:nowrap" class="ft21">5abc 1</p>
|
||||
<p style="position:absolute;top:194px;left:102px;white-space:nowrap" class="ft24"><i>We</i></p>
|
||||
<p style="position:absolute;top:194px;left:157px;white-space:nowrap" class="ft24"><i>KR</i></p>
|
||||
<p style="position:absolute;top:194px;left:209px;white-space:nowrap" class="ft21">---</p>
|
||||
<p style="position:absolute;top:194px;left:251px;white-space:nowrap" class="ft21">Entfall</p>
|
||||
<p style="position:absolute;top:215px;left:3px;white-space:nowrap" class="ft21">5a</p>
|
||||
<p style="position:absolute;top:215px;left:55px;white-space:nowrap" class="ft21">1</p>
|
||||
<p style="position:absolute;top:215px;left:102px;white-space:nowrap" class="ft24"><i>Bü</i></p>
|
||||
<p style="position:absolute;top:215px;left:157px;white-space:nowrap" class="ft24"><i>EvR</i></p>
|
||||
<p style="position:absolute;top:215px;left:209px;white-space:nowrap" class="ft21">---</p>
|
||||
<p style="position:absolute;top:215px;left:251px;white-space:nowrap" class="ft21">Entfall</p>
|
||||
<p style="position:absolute;top:238px;left:3px;white-space:nowrap" class="ft21">5abc 2</p>
|
||||
<p style="position:absolute;top:238px;left:102px;white-space:nowrap" class="ft21">Jw</p>
|
||||
<p style="position:absolute;top:238px;left:157px;white-space:nowrap" class="ft21">KR</p>
|
||||
<p style="position:absolute;top:238px;left:209px;white-space:nowrap" class="ft21">123</p>
|
||||
<p style="position:absolute;top:238px;left:398px;white-space:nowrap" class="ft21">We / Aufgaben</p>
|
||||
<p style="position:absolute;top:258px;left:3px;white-space:nowrap" class="ft21">5a</p>
|
||||
<p style="position:absolute;top:258px;left:55px;white-space:nowrap" class="ft21">2</p>
|
||||
<p style="position:absolute;top:258px;left:102px;white-space:nowrap" class="ft21">Ng</p>
|
||||
<p style="position:absolute;top:258px;left:157px;white-space:nowrap" class="ft21">EvR</p>
|
||||
<p style="position:absolute;top:258px;left:209px;white-space:nowrap" class="ft21">321</p>
|
||||
<p style="position:absolute;top:258px;left:398px;white-space:nowrap" class="ft21">Bü / Aufgaben</p>
|
||||
<p style="position:absolute;top:281px;left:3px;white-space:nowrap" class="ft21">5d</p>
|
||||
<p style="position:absolute;top:281px;left:55px;white-space:nowrap" class="ft21">3</p>
|
||||
<p style="position:absolute;top:281px;left:102px;white-space:nowrap" class="ft21">Lo</p>
|
||||
<p style="position:absolute;top:281px;left:157px;white-space:nowrap" class="ft21">D</p>
|
||||
<p style="position:absolute;top:281px;left:209px;white-space:nowrap" class="ft21">122</p>
|
||||
<p style="position:absolute;top:281px;left:398px;white-space:nowrap" class="ft21">anstatt 17.12., 1. Std.</p>
|
||||
<p style="position:absolute;top:304px;left:3px;white-space:nowrap" class="ft21">5d</p>
|
||||
<p style="position:absolute;top:304px;left:55px;white-space:nowrap" class="ft21">4</p>
|
||||
<p style="position:absolute;top:304px;left:102px;white-space:nowrap" class="ft21">Lo</p>
|
||||
<p style="position:absolute;top:304px;left:157px;white-space:nowrap" class="ft21">D</p>
|
||||
<p style="position:absolute;top:304px;left:209px;white-space:nowrap" class="ft21">122</p>
|
||||
<p style="position:absolute;top:304px;left:398px;white-space:nowrap" class="ft21">anstatt 19.12., 1 Std.</p>
|
||||
<p style="position:absolute;top:326px;left:3px;white-space:nowrap" class="ft21">6a</p>
|
||||
<p style="position:absolute;top:326px;left:55px;white-space:nowrap" class="ft21">6</p>
|
||||
<p style="position:absolute;top:326px;left:102px;white-space:nowrap" class="ft24"><i>He</i></p>
|
||||
<p style="position:absolute;top:326px;left:157px;white-space:nowrap" class="ft24"><i>E</i></p>
|
||||
<p style="position:absolute;top:326px;left:209px;white-space:nowrap" class="ft21">---</p>
|
||||
<p style="position:absolute;top:326px;left:251px;white-space:nowrap" class="ft21">Entfall</p>
|
||||
<p style="position:absolute;top:349px;left:3px;white-space:nowrap" class="ft21">6acd 7</p>
|
||||
<p style="position:absolute;top:349px;left:102px;white-space:nowrap" class="ft24"><i>Ft</i></p>
|
||||
<p style="position:absolute;top:349px;left:157px;white-space:nowrap" class="ft24"><i>MF</i></p>
|
||||
<p style="position:absolute;top:349px;left:209px;white-space:nowrap" class="ft21">---</p>
|
||||
<p style="position:absolute;top:349px;left:251px;white-space:nowrap" class="ft21">Entfall</p>
|
||||
<p style="position:absolute;top:372px;left:3px;white-space:nowrap" class="ft21">6c</p>
|
||||
<p style="position:absolute;top:372px;left:55px;white-space:nowrap" class="ft21">1</p>
|
||||
<p style="position:absolute;top:371px;left:102px;white-space:nowrap" class="ft24"><i>Ku</i></p>
|
||||
<p style="position:absolute;top:371px;left:157px;white-space:nowrap" class="ft24"><i>D</i></p>
|
||||
<p style="position:absolute;top:372px;left:209px;white-space:nowrap" class="ft21">---</p>
|
||||
<p style="position:absolute;top:372px;left:251px;white-space:nowrap" class="ft21">Entfall</p>
|
||||
<p style="position:absolute;top:394px;left:3px;white-space:nowrap" class="ft21">6c</p>
|
||||
<p style="position:absolute;top:394px;left:55px;white-space:nowrap" class="ft21">2</p>
|
||||
<p style="position:absolute;top:394px;left:102px;white-space:nowrap" class="ft21">Sl</p>
|
||||
<p style="position:absolute;top:394px;left:157px;white-space:nowrap" class="ft21">D</p>
|
||||
<p style="position:absolute;top:394px;left:209px;white-space:nowrap" class="ft21">121</p>
|
||||
<p style="position:absolute;top:394px;left:398px;white-space:nowrap" class="ft21">Ku / Aufgaben</p>
|
||||
<p style="position:absolute;top:417px;left:3px;white-space:nowrap" class="ft21">7a</p>
|
||||
<p style="position:absolute;top:417px;left:55px;white-space:nowrap" class="ft21">3</p>
|
||||
<p style="position:absolute;top:417px;left:102px;white-space:nowrap" class="ft21">Di</p>
|
||||
<p style="position:absolute;top:417px;left:157px;white-space:nowrap" class="ft21">D</p>
|
||||
<p style="position:absolute;top:417px;left:209px;white-space:nowrap" class="ft21">323</p>
|
||||
<p style="position:absolute;top:417px;left:398px;white-space:nowrap" class="ft21">Raum</p>
|
||||
<p style="position:absolute;top:440px;left:3px;white-space:nowrap" class="ft21">7a</p>
|
||||
<p style="position:absolute;top:440px;left:55px;white-space:nowrap" class="ft21">4</p>
|
||||
<p style="position:absolute;top:440px;left:102px;white-space:nowrap" class="ft21">Hhn</p>
|
||||
<p style="position:absolute;top:440px;left:157px;white-space:nowrap" class="ft21">M</p>
|
||||
<p style="position:absolute;top:440px;left:209px;white-space:nowrap" class="ft21">323</p>
|
||||
<p style="position:absolute;top:462px;left:3px;white-space:nowrap" class="ft21">7a</p>
|
||||
<p style="position:absolute;top:462px;left:55px;white-space:nowrap" class="ft21">5</p>
|
||||
<p style="position:absolute;top:462px;left:102px;white-space:nowrap" class="ft21">Hhn</p>
|
||||
<p style="position:absolute;top:462px;left:157px;white-space:nowrap" class="ft21">M</p>
|
||||
<p style="position:absolute;top:462px;left:209px;white-space:nowrap" class="ft21">323</p>
|
||||
<p style="position:absolute;top:485px;left:3px;white-space:nowrap" class="ft21">7a</p>
|
||||
<p style="position:absolute;top:485px;left:55px;white-space:nowrap" class="ft21">6</p>
|
||||
<p style="position:absolute;top:485px;left:102px;white-space:nowrap" class="ft21">Hhn</p>
|
||||
<p style="position:absolute;top:485px;left:157px;white-space:nowrap" class="ft21">M</p>
|
||||
<p style="position:absolute;top:485px;left:209px;white-space:nowrap" class="ft21">323</p>
|
||||
<p style="position:absolute;top:485px;left:398px;white-space:nowrap" class="ft21">findet statt!</p>
|
||||
<p style="position:absolute;top:508px;left:3px;white-space:nowrap" class="ft21">7b</p>
|
||||
<p style="position:absolute;top:508px;left:55px;white-space:nowrap" class="ft21">6</p>
|
||||
<p style="position:absolute;top:507px;left:102px;white-space:nowrap" class="ft24"><i>Rt</i></p>
|
||||
<p style="position:absolute;top:507px;left:157px;white-space:nowrap" class="ft24"><i>D</i></p>
|
||||
<p style="position:absolute;top:508px;left:209px;white-space:nowrap" class="ft21">---</p>
|
||||
<p style="position:absolute;top:508px;left:251px;white-space:nowrap" class="ft21">Entfall</p>
|
||||
<p style="position:absolute;top:530px;left:3px;white-space:nowrap" class="ft21">8a</p>
|
||||
<p style="position:absolute;top:530px;left:55px;white-space:nowrap" class="ft21">1</p>
|
||||
<p style="position:absolute;top:530px;left:102px;white-space:nowrap" class="ft24"><i>Ft</i></p>
|
||||
<p style="position:absolute;top:530px;left:157px;white-space:nowrap" class="ft24"><i>M</i></p>
|
||||
<p style="position:absolute;top:530px;left:209px;white-space:nowrap" class="ft21">---</p>
|
||||
<p style="position:absolute;top:530px;left:251px;white-space:nowrap" class="ft21">Entfall</p>
|
||||
<p style="position:absolute;top:553px;left:3px;white-space:nowrap" class="ft21">8a</p>
|
||||
<p style="position:absolute;top:553px;left:55px;white-space:nowrap" class="ft21">2</p>
|
||||
<p style="position:absolute;top:553px;left:102px;white-space:nowrap" class="ft21">Li</p>
|
||||
<p style="position:absolute;top:553px;left:157px;white-space:nowrap" class="ft21">E</p>
|
||||
<p style="position:absolute;top:553px;left:209px;white-space:nowrap" class="ft21">323</p>
|
||||
<p style="position:absolute;top:553px;left:398px;white-space:nowrap" class="ft21">statt 18.12.</p>
|
||||
<p style="position:absolute;top:576px;left:3px;white-space:nowrap" class="ft21">9c</p>
|
||||
<p style="position:absolute;top:576px;left:55px;white-space:nowrap" class="ft21">5 - 6</p>
|
||||
<p style="position:absolute;top:576px;left:102px;white-space:nowrap" class="ft24"><i>Hei</i></p>
|
||||
<p style="position:absolute;top:576px;left:157px;white-space:nowrap" class="ft24"><i>D</i></p>
|
||||
<p style="position:absolute;top:576px;left:209px;white-space:nowrap" class="ft21">---</p>
|
||||
<p style="position:absolute;top:576px;left:251px;white-space:nowrap" class="ft21">Entfall</p>
|
||||
<p style="position:absolute;top:599px;left:3px;white-space:nowrap" class="ft21">9d</p>
|
||||
<p style="position:absolute;top:599px;left:55px;white-space:nowrap" class="ft21">1 - 2 Rm</p>
|
||||
<p style="position:absolute;top:599px;left:157px;white-space:nowrap" class="ft21">NWT 412</p>
|
||||
<p style="position:absolute;top:599px;left:398px;white-space:nowrap" class="ft21">Raum</p>
|
||||
<p style="position:absolute;top:621px;left:3px;white-space:nowrap" class="ft21">9d</p>
|
||||
<p style="position:absolute;top:621px;left:55px;white-space:nowrap" class="ft21">5 - 6</p>
|
||||
<p style="position:absolute;top:621px;left:102px;white-space:nowrap" class="ft24"><i>Ft</i></p>
|
||||
<p style="position:absolute;top:621px;left:157px;white-space:nowrap" class="ft24"><i>M</i></p>
|
||||
<p style="position:absolute;top:621px;left:209px;white-space:nowrap" class="ft21">---</p>
|
||||
<p style="position:absolute;top:621px;left:251px;white-space:nowrap" class="ft21">Entfall</p>
|
||||
<p style="position:absolute;top:644px;left:3px;white-space:nowrap" class="ft21">10a</p>
|
||||
<p style="position:absolute;top:644px;left:55px;white-space:nowrap" class="ft21">3 - 4 Smr</p>
|
||||
<p style="position:absolute;top:644px;left:157px;white-space:nowrap" class="ft21">E</p>
|
||||
<p style="position:absolute;top:644px;left:209px;white-space:nowrap" class="ft21">413</p>
|
||||
<p style="position:absolute;top:644px;left:398px;white-space:nowrap" class="ft21">Hörverstehensklausur</p>
|
||||
<p style="position:absolute;top:664px;left:3px;white-space:nowrap" class="ft21">10ad 3</p>
|
||||
<p style="position:absolute;top:664px;left:102px;white-space:nowrap" class="ft21">Ro</p>
|
||||
<p style="position:absolute;top:664px;left:157px;white-space:nowrap" class="ft21">EvR</p>
|
||||
<p style="position:absolute;top:664px;left:209px;white-space:nowrap" class="ft21">SH</p>
|
||||
<p style="position:absolute;top:664px;left:398px;white-space:nowrap" class="ft21">Sport!</p>
|
||||
<p style="position:absolute;top:685px;left:3px;white-space:nowrap" class="ft21">10ad 3 - 4</p>
|
||||
<p style="position:absolute;top:685px;left:102px;white-space:nowrap" class="ft24"><i>We</i></p>
|
||||
<p style="position:absolute;top:685px;left:157px;white-space:nowrap" class="ft24"><i>KR</i></p>
|
||||
<p style="position:absolute;top:685px;left:209px;white-space:nowrap" class="ft21">---</p>
|
||||
<p style="position:absolute;top:685px;left:251px;white-space:nowrap" class="ft21">Entfall</p>
|
||||
<p style="position:absolute;top:708px;left:3px;white-space:nowrap" class="ft21">10ad 4</p>
|
||||
<p style="position:absolute;top:708px;left:102px;white-space:nowrap" class="ft21">Lk</p>
|
||||
<p style="position:absolute;top:708px;left:157px;white-space:nowrap" class="ft21">EvR</p>
|
||||
<p style="position:absolute;top:708px;left:209px;white-space:nowrap" class="ft21">SH</p>
|
||||
<p style="position:absolute;top:708px;left:398px;white-space:nowrap" class="ft21">Sport!</p>
|
||||
<p style="position:absolute;top:730px;left:3px;white-space:nowrap" class="ft21">10b</p>
|
||||
<p style="position:absolute;top:730px;left:55px;white-space:nowrap" class="ft21">3 - 4 Ki</p>
|
||||
<p style="position:absolute;top:730px;left:157px;white-space:nowrap" class="ft21">E</p>
|
||||
<p style="position:absolute;top:730px;left:209px;white-space:nowrap" class="ft21">414</p>
|
||||
<p style="position:absolute;top:730px;left:398px;white-space:nowrap" class="ft21">Hörverstehensklausur</p>
|
||||
<p style="position:absolute;top:751px;left:3px;white-space:nowrap" class="ft21">10b</p>
|
||||
<p style="position:absolute;top:751px;left:55px;white-space:nowrap" class="ft21">3 - 4</p>
|
||||
<p style="position:absolute;top:751px;left:102px;white-space:nowrap" class="ft24"><i>He</i></p>
|
||||
<p style="position:absolute;top:751px;left:157px;white-space:nowrap" class="ft24"><i>Gk</i></p>
|
||||
<p style="position:absolute;top:751px;left:209px;white-space:nowrap" class="ft21">---</p>
|
||||
<p style="position:absolute;top:751px;left:251px;white-space:nowrap" class="ft21">Entfall für Lehrer</p>
|
||||
<p style="position:absolute;top:774px;left:3px;white-space:nowrap" class="ft21">10bc 5 - 6</p>
|
||||
<p style="position:absolute;top:773px;left:102px;white-space:nowrap" class="ft24"><i>We</i></p>
|
||||
<p style="position:absolute;top:773px;left:157px;white-space:nowrap" class="ft24"><i>KR</i></p>
|
||||
<p style="position:absolute;top:774px;left:209px;white-space:nowrap" class="ft21">---</p>
|
||||
<p style="position:absolute;top:774px;left:251px;white-space:nowrap" class="ft21">Entfall</p>
|
||||
<p style="position:absolute;top:796px;left:3px;white-space:nowrap" class="ft21">10c</p>
|
||||
<p style="position:absolute;top:796px;left:55px;white-space:nowrap" class="ft21">3 - 4</p>
|
||||
<p style="position:absolute;top:796px;left:102px;white-space:nowrap" class="ft24"><i>Ran</i></p>
|
||||
<p style="position:absolute;top:796px;left:157px;white-space:nowrap" class="ft24"><i>M</i></p>
|
||||
<p style="position:absolute;top:796px;left:209px;white-space:nowrap" class="ft21">---</p>
|
||||
<p style="position:absolute;top:796px;left:251px;white-space:nowrap" class="ft21">Entfall</p>
|
||||
<p style="position:absolute;top:796px;left:398px;white-space:nowrap" class="ft21">alle bei Oe</p>
|
||||
<p style="position:absolute;top:817px;left:3px;white-space:nowrap" class="ft21">10c</p>
|
||||
<p style="position:absolute;top:817px;left:55px;white-space:nowrap" class="ft21">3 - 4 Oe</p>
|
||||
<p style="position:absolute;top:817px;left:157px;white-space:nowrap" class="ft21">E</p>
|
||||
<p style="position:absolute;top:817px;left:209px;white-space:nowrap" class="ft21">422</p>
|
||||
<p style="position:absolute;top:817px;left:398px;white-space:nowrap" class="ft21">Hörverstehensklausur</p>
|
||||
<p style="position:absolute;top:839px;left:3px;white-space:nowrap" class="ft21">10d</p>
|
||||
<p style="position:absolute;top:839px;left:55px;white-space:nowrap" class="ft21">3 - 4 Wd</p>
|
||||
<p style="position:absolute;top:839px;left:157px;white-space:nowrap" class="ft21">E</p>
|
||||
<p style="position:absolute;top:839px;left:209px;white-space:nowrap" class="ft21">416</p>
|
||||
<p style="position:absolute;top:839px;left:398px;white-space:nowrap" class="ft21">Hörverstehensklausur</p>
|
||||
<p style="position:absolute;top:862px;left:3px;white-space:nowrap" class="ft21">11</p>
|
||||
<p style="position:absolute;top:862px;left:55px;white-space:nowrap" class="ft21">3 - 4 At</p>
|
||||
<p style="position:absolute;top:862px;left:157px;white-space:nowrap" class="ft21">D3</p>
|
||||
<p style="position:absolute;top:862px;left:209px;white-space:nowrap" class="ft21">121</p>
|
||||
<p style="position:absolute;top:862px;left:398px;white-space:nowrap" class="ft21">Raum</p>
|
||||
<p style="position:absolute;top:883px;left:3px;white-space:nowrap" class="ft21">11</p>
|
||||
<p style="position:absolute;top:883px;left:55px;white-space:nowrap" class="ft21">3 - 4 Sl</p>
|
||||
<p style="position:absolute;top:883px;left:157px;white-space:nowrap" class="ft21">D2</p>
|
||||
<p style="position:absolute;top:883px;left:209px;white-space:nowrap" class="ft21">415</p>
|
||||
<p style="position:absolute;top:883px;left:398px;white-space:nowrap" class="ft21">Raum</p>
|
||||
<p style="position:absolute;top:905px;left:3px;white-space:nowrap" class="ft21">12</p>
|
||||
<p style="position:absolute;top:905px;left:55px;white-space:nowrap" class="ft21">1 - 2 Lo</p>
|
||||
<p style="position:absolute;top:905px;left:157px;white-space:nowrap" class="ft21">Sp1</p>
|
||||
<p style="position:absolute;top:905px;left:209px;white-space:nowrap" class="ft21">222</p>
|
||||
<p style="position:absolute;top:905px;left:398px;white-space:nowrap" class="ft21">Theorie</p>
|
||||
<p style="position:absolute;top:928px;left:3px;white-space:nowrap" class="ft21">12</p>
|
||||
<p style="position:absolute;top:928px;left:55px;white-space:nowrap" class="ft21">3 - 4 Mf</p>
|
||||
<p style="position:absolute;top:928px;left:157px;white-space:nowrap" class="ft21">E2</p>
|
||||
<p style="position:absolute;top:928px;left:209px;white-space:nowrap" class="ft21">218</p>
|
||||
<p style="position:absolute;top:928px;left:398px;white-space:nowrap" class="ft21">Raum</p>
|
||||
<p style="position:absolute;top:949px;left:3px;white-space:nowrap" class="ft21">12</p>
|
||||
<p style="position:absolute;top:949px;left:55px;white-space:nowrap" class="ft21">3 - 4 Sf</p>
|
||||
<p style="position:absolute;top:949px;left:157px;white-space:nowrap" class="ft21">M3</p>
|
||||
<p style="position:absolute;top:949px;left:209px;white-space:nowrap" class="ft21">322</p>
|
||||
<p style="position:absolute;top:949px;left:398px;white-space:nowrap" class="ft21">Raum</p>
|
||||
<p style="position:absolute;top:969px;left:3px;white-space:nowrap" class="ft21">12</p>
|
||||
<p style="position:absolute;top:969px;left:55px;white-space:nowrap" class="ft21">3 - 4</p>
|
||||
<p style="position:absolute;top:969px;left:102px;white-space:nowrap" class="ft24"><i>Ft</i></p>
|
||||
<p style="position:absolute;top:969px;left:157px;white-space:nowrap" class="ft24"><i>M2</i></p>
|
||||
<p style="position:absolute;top:969px;left:209px;white-space:nowrap" class="ft21">---</p>
|
||||
<p style="position:absolute;top:969px;left:251px;white-space:nowrap" class="ft21">Entfall</p>
|
||||
<p style="position:absolute;top:992px;left:3px;white-space:nowrap" class="ft21">12</p>
|
||||
<p style="position:absolute;top:992px;left:55px;white-space:nowrap" class="ft21">5 - 6</p>
|
||||
<p style="position:absolute;top:991px;left:102px;white-space:nowrap" class="ft24"><i>Ku</i></p>
|
||||
<p style="position:absolute;top:991px;left:157px;white-space:nowrap" class="ft24"><i>ek1</i></p>
|
||||
<p style="position:absolute;top:992px;left:209px;white-space:nowrap" class="ft21">---</p>
|
||||
<p style="position:absolute;top:992px;left:251px;white-space:nowrap" class="ft21">Entfall</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
871
shared/samplehtml/Download File.html
Normal file
|
@ -0,0 +1,871 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>MergedFile</title>
|
||||
<meta name="Producer" content="3-Heights(TM) PDF Merge Split API 4.9.17.0 (http://www.pdf-tools.com)"/>
|
||||
<meta name="CreationDate" content=""/>
|
||||
</head>
|
||||
<body>
|
||||
<doc>
|
||||
<page width="595.440000" height="841.680000">
|
||||
<flow>
|
||||
<block xMin="2.155223" yMin="6.712403" xMax="200.369021" yMax="19.097534">
|
||||
<line xMin="2.155223" yMin="6.712403" xMax="200.369021" yMax="19.097534">
|
||||
<word xMin="2.155223" yMin="6.712403" xMax="52.636293" yMax="19.097534">D-70563</word>
|
||||
<word xMin="56.214732" yMin="6.712403" xMax="200.369021" yMax="19.097534">FANNY-LEICHT-GYMN.</word>
|
||||
</line>
|
||||
</block>
|
||||
<block xMin="2.155223" yMin="21.630261" xMax="185.638722" yMax="32.889471">
|
||||
<line xMin="2.155223" yMin="21.630261" xMax="185.638722" yMax="32.889471">
|
||||
<word xMin="2.155223" yMin="21.630261" xMax="77.697366" yMax="32.889471">STUTTGART,</word>
|
||||
<word xMin="80.698405" yMin="21.630261" xMax="169.433114" yMax="32.889471">F.-LEICHT-STR.</word>
|
||||
<word xMin="172.290102" yMin="21.630261" xMax="185.638722" yMax="32.889471">13</word>
|
||||
</line>
|
||||
</block>
|
||||
</flow>
|
||||
<flow>
|
||||
<block xMin="221.269518" yMin="5.785731" xMax="386.482695" yMax="32.889471">
|
||||
<line xMin="221.269518" yMin="5.785731" xMax="386.482695" yMax="17.044941">
|
||||
<word xMin="221.269518" yMin="5.785731" xMax="271.290830" yMax="17.044941">Schuljahr</word>
|
||||
<word xMin="274.639989" yMin="5.785731" xMax="318.010998" yMax="17.044941">2018/19</word>
|
||||
<word xMin="321.456191" yMin="5.785731" xMax="325.453574" yMax="17.044941">-</word>
|
||||
<word xMin="328.634675" yMin="5.785731" xMax="338.634136" yMax="17.044941">1.</word>
|
||||
<word xMin="341.923274" yMin="5.785731" xMax="386.482695" yMax="17.044941">Halbjahr</word>
|
||||
</line>
|
||||
<line xMin="221.269518" yMin="21.630261" xMax="378.559953" yMax="32.889471">
|
||||
<word xMin="221.269518" yMin="21.630261" xMax="249.947443" yMax="32.889471">gültig</word>
|
||||
<word xMin="253.080527" yMin="21.630261" xMax="266.429147" yMax="32.889471">ab</word>
|
||||
<word xMin="269.730290" yMin="21.630261" xMax="286.404060" yMax="32.889471">10.</word>
|
||||
<word xMin="289.729211" yMin="21.630261" xMax="348.561571" yMax="32.889471">September</word>
|
||||
<word xMin="351.862714" yMin="21.630261" xMax="378.559953" yMax="32.889471">2018</word>
|
||||
</line>
|
||||
</block>
|
||||
</flow>
|
||||
<flow>
|
||||
<block xMin="2.155223" yMin="42.828303" xMax="317.498329" yMax="59.717116">
|
||||
<line xMin="2.155223" yMin="42.828303" xMax="317.498329" yMax="59.717116">
|
||||
<word xMin="2.155223" yMin="42.828303" xMax="60.009240" yMax="59.717116">Klasse</word>
|
||||
<word xMin="69.876654" yMin="42.828303" xMax="119.681886" yMax="59.717116">13.12.</word>
|
||||
<word xMin="124.705624" yMin="42.828303" xMax="129.693350" yMax="59.717116">/</word>
|
||||
<word xMin="134.771107" yMin="42.828303" xMax="234.525621" yMax="59.717116">Donnerstag</word>
|
||||
<word xMin="239.531353" yMin="42.828303" xMax="317.498329" yMax="59.717116">Woche-A</word>
|
||||
</line>
|
||||
</block>
|
||||
<block xMin="2.155223" yMin="73.878753" xMax="137.504463" yMax="84.012042">
|
||||
<line xMin="2.155223" yMin="73.878753" xMax="137.504463" yMax="84.012042">
|
||||
<word xMin="2.155223" yMin="73.878753" xMax="81.173768" yMax="84.012042">Ordnungsdienst:</word>
|
||||
<word xMin="84.166404" yMin="73.878753" xMax="116.577621" yMax="84.012042">Klasse</word>
|
||||
<word xMin="119.483826" yMin="73.878753" xMax="137.504463" yMax="84.012042">10a</word>
|
||||
</line>
|
||||
</block>
|
||||
</flow>
|
||||
<flow>
|
||||
<block xMin="2.155223" yMin="114.536755" xMax="28.696408" yMax="682.514662">
|
||||
<line xMin="2.155223" yMin="114.536755" xMax="16.140063" yMax="125.795965">
|
||||
<word xMin="2.155223" yMin="114.536755" xMax="16.140063" yMax="125.795965">Kl.</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="129.661077" xMax="15.503842" yMax="140.920287">
|
||||
<word xMin="2.155223" yMin="129.661077" xMax="15.503842" yMax="140.920287">5b</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="144.785399" xMax="15.503842" yMax="156.044609">
|
||||
<word xMin="2.155223" yMin="144.785399" xMax="15.503842" yMax="156.044609">5b</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="159.909659" xMax="15.503842" yMax="171.168869">
|
||||
<word xMin="2.155223" yMin="159.909659" xMax="15.503842" yMax="171.168869">5b</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="175.033981" xMax="15.503842" yMax="186.293190">
|
||||
<word xMin="2.155223" yMin="175.033981" xMax="15.503842" yMax="186.293190">5b</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="190.158302" xMax="21.505920" yMax="201.417512">
|
||||
<word xMin="2.155223" yMin="190.158302" xMax="21.505920" yMax="201.417512">6bc</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="203.842207" xMax="21.505920" yMax="215.101417">
|
||||
<word xMin="2.155223" yMin="203.842207" xMax="21.505920" yMax="215.101417">6bc</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="218.966528" xMax="21.505920" yMax="230.225738">
|
||||
<word xMin="2.155223" yMin="218.966528" xMax="21.505920" yMax="230.225738">6bc</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="232.650432" xMax="21.505920" yMax="243.909642">
|
||||
<word xMin="2.155223" yMin="232.650432" xMax="21.505920" yMax="243.909642">6bc</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="247.774692" xMax="15.503842" yMax="259.033902">
|
||||
<word xMin="2.155223" yMin="247.774692" xMax="15.503842" yMax="259.033902">6d</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="262.899014" xMax="15.503842" yMax="274.158224">
|
||||
<word xMin="2.155223" yMin="262.899014" xMax="15.503842" yMax="274.158224">7b</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="278.023335" xMax="15.503842" yMax="289.282545">
|
||||
<word xMin="2.155223" yMin="278.023335" xMax="15.503842" yMax="289.282545">7b</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="293.147658" xMax="15.503842" yMax="304.406867">
|
||||
<word xMin="2.155223" yMin="293.147658" xMax="15.503842" yMax="304.406867">7b</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="308.271979" xMax="14.831610" yMax="319.531189">
|
||||
<word xMin="2.155223" yMin="308.271979" xMax="14.831610" yMax="319.531189">7c</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="323.396269" xMax="15.503842" yMax="334.655479">
|
||||
<word xMin="2.155223" yMin="323.396269" xMax="15.503842" yMax="334.655479">7d</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="338.520561" xMax="15.503842" yMax="349.779771">
|
||||
<word xMin="2.155223" yMin="338.520561" xMax="15.503842" yMax="349.779771">7d</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="353.644882" xMax="15.503842" yMax="364.904092">
|
||||
<word xMin="2.155223" yMin="353.644882" xMax="15.503842" yMax="364.904092">8a</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="368.769203" xMax="21.505920" yMax="380.028413">
|
||||
<word xMin="2.155223" yMin="368.769203" xMax="21.505920" yMax="380.028413">9ac</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="383.893495" xMax="14.831610" yMax="395.152705">
|
||||
<word xMin="2.155223" yMin="383.893495" xMax="14.831610" yMax="395.152705">9c</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="399.017816" xMax="14.831610" yMax="410.277026">
|
||||
<word xMin="2.155223" yMin="399.017816" xMax="14.831610" yMax="410.277026">9c</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="414.142138" xMax="14.831610" yMax="425.401348">
|
||||
<word xMin="2.155223" yMin="414.142138" xMax="14.831610" yMax="425.401348">9c</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="429.266460" xMax="15.503842" yMax="440.525670">
|
||||
<word xMin="2.155223" yMin="429.266460" xMax="15.503842" yMax="440.525670">9d</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="444.390750" xMax="15.503842" yMax="455.649960">
|
||||
<word xMin="2.155223" yMin="444.390750" xMax="15.503842" yMax="455.649960">9d</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="459.515072" xMax="15.503842" yMax="470.774282">
|
||||
<word xMin="2.155223" yMin="459.515072" xMax="15.503842" yMax="470.774282">9d</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="474.639394" xMax="15.503842" yMax="485.898604">
|
||||
<word xMin="2.155223" yMin="474.639394" xMax="15.503842" yMax="485.898604">9d</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="489.763685" xMax="15.503842" yMax="501.022894">
|
||||
<word xMin="2.155223" yMin="489.763685" xMax="15.503842" yMax="501.022894">9d</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="504.887976" xMax="15.503842" yMax="516.147186">
|
||||
<word xMin="2.155223" yMin="504.887976" xMax="15.503842" yMax="516.147186">9d</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="520.012297" xMax="15.503842" yMax="531.271507">
|
||||
<word xMin="2.155223" yMin="520.012297" xMax="15.503842" yMax="531.271507">9d</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="535.136619" xMax="15.503842" yMax="546.395829">
|
||||
<word xMin="2.155223" yMin="535.136619" xMax="15.503842" yMax="546.395829">9d</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="550.260940" xMax="22.178152" yMax="561.520150">
|
||||
<word xMin="2.155223" yMin="550.260940" xMax="22.178152" yMax="561.520150">10b</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="565.385262" xMax="15.503842" yMax="576.644471">
|
||||
<word xMin="2.155223" yMin="565.385262" xMax="15.503842" yMax="576.644471">11</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="580.509523" xMax="15.503842" yMax="591.768733">
|
||||
<word xMin="2.155223" yMin="580.509523" xMax="15.503842" yMax="591.768733">11</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="595.633844" xMax="15.503842" yMax="606.893054">
|
||||
<word xMin="2.155223" yMin="595.633844" xMax="15.503842" yMax="606.893054">11</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="610.758166" xMax="15.503842" yMax="622.017376">
|
||||
<word xMin="2.155223" yMin="610.758166" xMax="15.503842" yMax="622.017376">11</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="625.882487" xMax="15.503842" yMax="637.141697">
|
||||
<word xMin="2.155223" yMin="625.882487" xMax="15.503842" yMax="637.141697">11</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="641.006809" xMax="15.503842" yMax="652.266018">
|
||||
<word xMin="2.155223" yMin="641.006809" xMax="15.503842" yMax="652.266018">12</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="656.131130" xMax="15.503842" yMax="667.390340">
|
||||
<word xMin="2.155223" yMin="656.131130" xMax="15.503842" yMax="667.390340">12</word>
|
||||
</line>
|
||||
<line xMin="2.155223" yMin="671.255452" xMax="28.696408" yMax="682.514662">
|
||||
<word xMin="2.155223" yMin="671.255452" xMax="28.696408" yMax="682.514662">1112</word>
|
||||
</line>
|
||||
</block>
|
||||
</flow>
|
||||
<flow>
|
||||
<block xMin="36.638783" yMin="114.536755" xMax="73.899678" yMax="682.514662">
|
||||
<line xMin="36.638783" yMin="114.536755" xMax="57.958161" yMax="125.795965">
|
||||
<word xMin="36.638783" yMin="114.536755" xMax="57.958161" yMax="125.795965">Std.</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="129.661077" xMax="43.313093" yMax="140.920287">
|
||||
<word xMin="36.638783" yMin="129.661077" xMax="43.313093" yMax="140.920287">1</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="144.785399" xMax="43.313093" yMax="156.044609">
|
||||
<word xMin="36.638783" yMin="144.785399" xMax="43.313093" yMax="156.044609">2</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="159.909659" xMax="43.313093" yMax="171.168869">
|
||||
<word xMin="36.638783" yMin="159.909659" xMax="43.313093" yMax="171.168869">3</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="175.033981" xMax="43.313093" yMax="186.293190">
|
||||
<word xMin="36.638783" yMin="175.033981" xMax="43.313093" yMax="186.293190">4</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="190.158302" xMax="43.313093" yMax="201.417512">
|
||||
<word xMin="36.638783" yMin="190.158302" xMax="43.313093" yMax="201.417512">5</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="203.842207" xMax="43.313093" yMax="215.101417">
|
||||
<word xMin="36.638783" yMin="203.842207" xMax="43.313093" yMax="215.101417">5</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="218.966528" xMax="43.313093" yMax="230.225738">
|
||||
<word xMin="36.638783" yMin="218.966528" xMax="43.313093" yMax="230.225738">6</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="232.650432" xMax="43.313093" yMax="243.909642">
|
||||
<word xMin="36.638783" yMin="232.650432" xMax="43.313093" yMax="243.909642">6</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="247.774692" xMax="43.313093" yMax="259.033902">
|
||||
<word xMin="36.638783" yMin="247.774692" xMax="43.313093" yMax="259.033902">6</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="262.899014" xMax="43.313093" yMax="274.158224">
|
||||
<word xMin="36.638783" yMin="262.899014" xMax="43.313093" yMax="274.158224">2</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="278.023335" xMax="43.313093" yMax="289.282545">
|
||||
<word xMin="36.638783" yMin="278.023335" xMax="43.313093" yMax="289.282545">8</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="293.147658" xMax="43.313093" yMax="304.406867">
|
||||
<word xMin="36.638783" yMin="293.147658" xMax="43.313093" yMax="304.406867">9</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="308.271979" xMax="60.647091" yMax="319.531189">
|
||||
<word xMin="36.638783" yMin="308.271979" xMax="43.313093" yMax="319.531189">8</word>
|
||||
<word xMin="46.662252" yMin="308.271979" xMax="50.659635" yMax="319.531189">-</word>
|
||||
<word xMin="53.972782" yMin="308.271979" xMax="60.647091" yMax="319.531189">9</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="323.396269" xMax="43.313093" yMax="334.655479">
|
||||
<word xMin="36.638783" yMin="323.396269" xMax="43.313093" yMax="334.655479">1</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="338.520561" xMax="43.313093" yMax="349.779771">
|
||||
<word xMin="36.638783" yMin="338.520561" xMax="43.313093" yMax="349.779771">2</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="353.644882" xMax="60.647091" yMax="364.904092">
|
||||
<word xMin="36.638783" yMin="353.644882" xMax="43.313093" yMax="364.904092">1</word>
|
||||
<word xMin="46.662252" yMin="353.644882" xMax="50.659635" yMax="364.904092">-</word>
|
||||
<word xMin="53.972782" yMin="353.644882" xMax="60.647091" yMax="364.904092">2</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="368.769203" xMax="60.647091" yMax="380.028413">
|
||||
<word xMin="36.638783" yMin="368.769203" xMax="43.313093" yMax="380.028413">8</word>
|
||||
<word xMin="46.662252" yMin="368.769203" xMax="50.659635" yMax="380.028413">-</word>
|
||||
<word xMin="53.972782" yMin="368.769203" xMax="60.647091" yMax="380.028413">9</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="383.893495" xMax="60.647091" yMax="395.152705">
|
||||
<word xMin="36.638783" yMin="383.893495" xMax="43.313093" yMax="395.152705">1</word>
|
||||
<word xMin="46.662252" yMin="383.893495" xMax="50.659635" yMax="395.152705">-</word>
|
||||
<word xMin="53.972782" yMin="383.893495" xMax="60.647091" yMax="395.152705">2</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="399.017816" xMax="43.313093" yMax="410.277026">
|
||||
<word xMin="36.638783" yMin="399.017816" xMax="43.313093" yMax="410.277026">3</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="414.142138" xMax="43.313093" yMax="425.401348">
|
||||
<word xMin="36.638783" yMin="414.142138" xMax="43.313093" yMax="425.401348">4</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="429.266460" xMax="43.313093" yMax="440.525670">
|
||||
<word xMin="36.638783" yMin="429.266460" xMax="43.313093" yMax="440.525670">1</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="444.390750" xMax="43.313093" yMax="455.649960">
|
||||
<word xMin="36.638783" yMin="444.390750" xMax="43.313093" yMax="455.649960">2</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="459.515072" xMax="43.313093" yMax="470.774282">
|
||||
<word xMin="36.638783" yMin="459.515072" xMax="43.313093" yMax="470.774282">3</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="474.639394" xMax="43.313093" yMax="485.898604">
|
||||
<word xMin="36.638783" yMin="474.639394" xMax="43.313093" yMax="485.898604">4</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="489.763685" xMax="43.313093" yMax="501.022894">
|
||||
<word xMin="36.638783" yMin="489.763685" xMax="43.313093" yMax="501.022894">5</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="504.887976" xMax="43.313093" yMax="516.147186">
|
||||
<word xMin="36.638783" yMin="504.887976" xMax="43.313093" yMax="516.147186">6</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="520.012297" xMax="43.313093" yMax="531.271507">
|
||||
<word xMin="36.638783" yMin="520.012297" xMax="43.313093" yMax="531.271507">8</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="535.136619" xMax="43.313093" yMax="546.395829">
|
||||
<word xMin="36.638783" yMin="535.136619" xMax="43.313093" yMax="546.395829">9</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="550.260940" xMax="73.899678" yMax="561.520150">
|
||||
<word xMin="36.638783" yMin="550.260940" xMax="49.987402" yMax="561.520150">10</word>
|
||||
<word xMin="53.372574" yMin="550.260940" xMax="57.369957" yMax="561.520150">-</word>
|
||||
<word xMin="60.551058" yMin="550.260940" xMax="73.899678" yMax="561.520150">11</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="565.385262" xMax="60.647091" yMax="576.644471">
|
||||
<word xMin="36.638783" yMin="565.385262" xMax="43.313093" yMax="576.644471">3</word>
|
||||
<word xMin="46.662252" yMin="565.385262" xMax="50.659635" yMax="576.644471">-</word>
|
||||
<word xMin="53.972782" yMin="565.385262" xMax="60.647091" yMax="576.644471">4</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="580.509523" xMax="43.313093" yMax="591.768733">
|
||||
<word xMin="36.638783" yMin="580.509523" xMax="43.313093" yMax="591.768733">5</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="595.633844" xMax="43.313093" yMax="606.893054">
|
||||
<word xMin="36.638783" yMin="595.633844" xMax="43.313093" yMax="606.893054">7</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="610.758166" xMax="60.647091" yMax="622.017376">
|
||||
<word xMin="36.638783" yMin="610.758166" xMax="43.313093" yMax="622.017376">8</word>
|
||||
<word xMin="46.662252" yMin="610.758166" xMax="50.659635" yMax="622.017376">-</word>
|
||||
<word xMin="53.972782" yMin="610.758166" xMax="60.647091" yMax="622.017376">9</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="625.882487" xMax="73.899678" yMax="637.141697">
|
||||
<word xMin="36.638783" yMin="625.882487" xMax="49.987402" yMax="637.141697">10</word>
|
||||
<word xMin="53.372574" yMin="625.882487" xMax="57.369957" yMax="637.141697">-</word>
|
||||
<word xMin="60.551058" yMin="625.882487" xMax="73.899678" yMax="637.141697">11</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="641.006809" xMax="60.647091" yMax="652.266018">
|
||||
<word xMin="36.638783" yMin="641.006809" xMax="43.313093" yMax="652.266018">1</word>
|
||||
<word xMin="46.662252" yMin="641.006809" xMax="50.659635" yMax="652.266018">-</word>
|
||||
<word xMin="53.972782" yMin="641.006809" xMax="60.647091" yMax="652.266018">2</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="656.131130" xMax="43.313093" yMax="667.390340">
|
||||
<word xMin="36.638783" yMin="656.131130" xMax="43.313093" yMax="667.390340">5</word>
|
||||
</line>
|
||||
<line xMin="36.638783" yMin="671.255452" xMax="60.647091" yMax="682.514662">
|
||||
<word xMin="36.638783" yMin="671.255452" xMax="43.313093" yMax="682.514662">8</word>
|
||||
<word xMin="46.662252" yMin="671.255452" xMax="50.659635" yMax="682.514662">-</word>
|
||||
<word xMin="53.972782" yMin="671.255452" xMax="60.647091" yMax="682.514662">9</word>
|
||||
</line>
|
||||
</block>
|
||||
</flow>
|
||||
<flow>
|
||||
<block xMin="81.898452" yMin="114.536755" xMax="111.080551" yMax="682.545121">
|
||||
<line xMin="81.898452" yMin="114.536755" xMax="111.080551" yMax="125.795965">
|
||||
<word xMin="81.898452" yMin="114.536755" xMax="111.080551" yMax="125.795965">Vertr.</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="129.470449" xMax="99.904683" yMax="140.950745">
|
||||
<word xMin="81.898452" yMin="129.470449" xMax="99.904683" yMax="140.950745">Hei</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="144.785399" xMax="95.895296" yMax="156.044609">
|
||||
<word xMin="81.898452" yMin="144.785399" xMax="95.895296" yMax="156.044609">Fu</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="159.909659" xMax="97.899990" yMax="171.168869">
|
||||
<word xMin="81.898452" yMin="159.909659" xMax="97.899990" yMax="171.168869">Oe</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="175.033981" xMax="100.396854" yMax="186.293190">
|
||||
<word xMin="81.898452" yMin="175.033981" xMax="100.396854" yMax="186.293190">Rm</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="190.158302" xMax="93.002295" yMax="201.417512">
|
||||
<word xMin="81.898452" yMin="190.158302" xMax="93.002295" yMax="201.417512">Sf</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="203.842207" xMax="96.567528" yMax="215.101417">
|
||||
<word xMin="81.898452" yMin="203.842207" xMax="96.567528" yMax="215.101417">Dk</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="218.775900" xMax="96.567528" yMax="230.256196">
|
||||
<word xMin="81.898452" yMin="218.775900" xMax="96.567528" yMax="230.256196">Bü</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="232.459804" xMax="99.892679" yMax="243.940100">
|
||||
<word xMin="81.898452" yMin="232.459804" xMax="99.892679" yMax="243.940100">We</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="247.584064" xMax="96.567528" yMax="259.064360">
|
||||
<word xMin="81.898452" yMin="247.584064" xMax="96.567528" yMax="259.064360">Ku</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="262.899014" xMax="97.899990" yMax="274.158224">
|
||||
<word xMin="81.898452" yMin="262.899014" xMax="97.899990" yMax="274.158224">Ga</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="277.832707" xMax="97.899990" yMax="289.313003">
|
||||
<word xMin="81.898452" yMin="277.832707" xMax="97.899990" yMax="289.313003">Gg</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="292.957030" xMax="97.899990" yMax="304.437326">
|
||||
<word xMin="81.898452" yMin="292.957030" xMax="97.899990" yMax="304.437326">Gg</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="308.081351" xMax="99.892679" yMax="319.561647">
|
||||
<word xMin="81.898452" yMin="308.081351" xMax="99.892679" yMax="319.561647">Gw</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="323.205641" xMax="96.567528" yMax="334.685937">
|
||||
<word xMin="81.898452" yMin="323.205641" xMax="96.567528" yMax="334.685937">Ku</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="338.520561" xMax="97.227757" yMax="349.779771">
|
||||
<word xMin="81.898452" yMin="338.520561" xMax="97.227757" yMax="349.779771">Oz</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="353.454254" xMax="92.558141" yMax="364.934550">
|
||||
<word xMin="81.898452" yMin="353.454254" xMax="92.558141" yMax="364.934550">Ei</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="368.578576" xMax="94.574839" yMax="380.058872">
|
||||
<word xMin="81.898452" yMin="368.578576" xMax="94.574839" yMax="380.058872">Lk</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="383.893495" xMax="96.567528" yMax="395.152705">
|
||||
<word xMin="81.898452" yMin="383.893495" xMax="96.567528" yMax="395.152705">Jw</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="399.017816" xMax="93.722544" yMax="410.277026">
|
||||
<word xMin="81.898452" yMin="399.017816" xMax="93.722544" yMax="410.277026">Hf</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="414.142138" xMax="102.569606" yMax="425.401348">
|
||||
<word xMin="81.898452" yMin="414.142138" xMax="102.569606" yMax="425.401348">Bkn</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="429.075832" xMax="93.890602" yMax="440.556128">
|
||||
<word xMin="81.898452" yMin="429.075832" xMax="93.890602" yMax="440.556128">Rt</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="444.200122" xMax="93.890602" yMax="455.680419">
|
||||
<word xMin="81.898452" yMin="444.200122" xMax="93.890602" yMax="455.680419">Rt</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="459.515072" xMax="93.890602" yMax="470.774282">
|
||||
<word xMin="81.898452" yMin="459.515072" xMax="93.890602" yMax="470.774282">Rt</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="474.639394" xMax="93.890602" yMax="485.898604">
|
||||
<word xMin="81.898452" yMin="474.639394" xMax="93.890602" yMax="485.898604">Rt</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="489.763685" xMax="93.230373" yMax="501.022894">
|
||||
<word xMin="81.898452" yMin="489.763685" xMax="93.230373" yMax="501.022894">Ni</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="504.887976" xMax="93.230373" yMax="516.147186">
|
||||
<word xMin="81.898452" yMin="504.887976" xMax="93.230373" yMax="516.147186">Ni</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="519.821669" xMax="93.230373" yMax="531.301966">
|
||||
<word xMin="81.898452" yMin="519.821669" xMax="93.230373" yMax="531.301966">Ni</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="534.945991" xMax="93.230373" yMax="546.426287">
|
||||
<word xMin="81.898452" yMin="534.945991" xMax="93.230373" yMax="546.426287">Ni</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="550.070312" xMax="95.895296" yMax="561.550608">
|
||||
<word xMin="81.898452" yMin="550.070312" xMax="95.895296" yMax="561.550608">Fe</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="565.194634" xMax="92.546137" yMax="576.674930">
|
||||
<word xMin="81.898452" yMin="565.194634" xMax="92.546137" yMax="576.674930">Ft</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="580.318895" xMax="92.558141" yMax="591.799191">
|
||||
<word xMin="81.898452" yMin="580.318895" xMax="92.558141" yMax="591.799191">Ei</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="595.633844" xMax="94.550830" yMax="606.893054">
|
||||
<word xMin="81.898452" yMin="595.633844" xMax="94.550830" yMax="606.893054">Gt</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="610.758166" xMax="97.239761" yMax="622.017376">
|
||||
<word xMin="81.898452" yMin="610.758166" xMax="97.239761" yMax="622.017376">Ro</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="625.691859" xMax="94.574839" yMax="637.172155">
|
||||
<word xMin="81.898452" yMin="625.691859" xMax="94.574839" yMax="637.172155">Lk</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="641.006809" xMax="93.230373" yMax="652.266018">
|
||||
<word xMin="81.898452" yMin="641.006809" xMax="93.230373" yMax="652.266018">Ni</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="655.940502" xMax="96.567528" yMax="667.420798">
|
||||
<word xMin="81.898452" yMin="655.940502" xMax="96.567528" yMax="667.420798">Ku</word>
|
||||
</line>
|
||||
<line xMin="81.898452" yMin="671.064824" xMax="95.895296" yMax="682.545121">
|
||||
<word xMin="81.898452" yMin="671.064824" xMax="95.895296" yMax="682.545121">Fe</word>
|
||||
</line>
|
||||
</block>
|
||||
</flow>
|
||||
<flow>
|
||||
<block xMin="118.537239" yMin="114.536755" xMax="147.719338" yMax="682.545121">
|
||||
<line xMin="118.537239" yMin="114.536755" xMax="145.078424" yMax="125.795965">
|
||||
<word xMin="118.537239" yMin="114.536755" xMax="145.078424" yMax="125.795965">Fach</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="129.470449" xMax="127.204238" yMax="140.950745">
|
||||
<word xMin="118.537239" yMin="129.470449" xMax="127.204238" yMax="140.950745">D</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="144.785399" xMax="127.204238" yMax="156.044609">
|
||||
<word xMin="118.537239" yMin="144.785399" xMax="127.204238" yMax="156.044609">D</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="159.909659" xMax="128.536699" yMax="171.168869">
|
||||
<word xMin="118.537239" yMin="159.909659" xMax="128.536699" yMax="171.168869">M</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="175.033981" xMax="128.536699" yMax="186.293190">
|
||||
<word xMin="118.537239" yMin="175.033981" xMax="128.536699" yMax="186.293190">M</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="190.158302" xMax="141.201082" yMax="201.417512">
|
||||
<word xMin="118.537239" yMin="190.158302" xMax="141.201082" yMax="201.417512">EvR</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="203.842207" xMax="135.199005" yMax="215.101417">
|
||||
<word xMin="118.537239" yMin="203.842207" xMax="135.199005" yMax="215.101417">KR</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="218.775900" xMax="141.201082" yMax="230.256196">
|
||||
<word xMin="118.537239" yMin="218.775900" xMax="141.201082" yMax="230.256196">EvR</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="232.459804" xMax="135.199005" yMax="243.940100">
|
||||
<word xMin="118.537239" yMin="232.459804" xMax="135.199005" yMax="243.940100">KR</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="247.584064" xMax="132.534082" yMax="259.064360">
|
||||
<word xMin="118.537239" yMin="247.584064" xMax="132.534082" yMax="259.064360">Ek</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="262.899014" xMax="127.864466" yMax="274.158224">
|
||||
<word xMin="118.537239" yMin="262.899014" xMax="127.864466" yMax="274.158224">G</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="277.832707" xMax="134.526772" yMax="289.313003">
|
||||
<word xMin="118.537239" yMin="277.832707" xMax="134.526772" yMax="289.313003">BK</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="292.957030" xMax="134.526772" yMax="304.437326">
|
||||
<word xMin="118.537239" yMin="292.957030" xMax="134.526772" yMax="304.437326">BK</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="308.081351" xMax="127.864466" yMax="319.561647">
|
||||
<word xMin="118.537239" yMin="308.081351" xMax="127.864466" yMax="319.561647">G</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="323.205641" xMax="127.204238" yMax="334.685937">
|
||||
<word xMin="118.537239" yMin="323.205641" xMax="127.204238" yMax="334.685937">D</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="338.520561" xMax="127.204238" yMax="349.779771">
|
||||
<word xMin="118.537239" yMin="338.520561" xMax="127.204238" yMax="349.779771">D</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="353.454254" xMax="133.878548" yMax="364.934550">
|
||||
<word xMin="118.537239" yMin="353.454254" xMax="133.878548" yMax="364.934550">Ch</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="368.578576" xMax="139.208392" yMax="380.058872">
|
||||
<word xMin="118.537239" yMin="368.578576" xMax="139.208392" yMax="380.058872">SpJ</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="383.893495" xMax="133.866544" yMax="395.152705">
|
||||
<word xMin="118.537239" yMin="383.893495" xMax="133.866544" yMax="395.152705">Gk</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="399.017816" xMax="127.204238" yMax="410.277026">
|
||||
<word xMin="118.537239" yMin="399.017816" xMax="127.204238" yMax="410.277026">D</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="414.142138" xMax="127.204238" yMax="425.401348">
|
||||
<word xMin="118.537239" yMin="414.142138" xMax="127.204238" yMax="425.401348">D</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="429.075832" xMax="133.866544" yMax="440.556128">
|
||||
<word xMin="118.537239" yMin="429.075832" xMax="133.866544" yMax="440.556128">Gk</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="444.200122" xMax="133.866544" yMax="455.680419">
|
||||
<word xMin="118.537239" yMin="444.200122" xMax="133.866544" yMax="455.680419">Gk</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="459.515072" xMax="133.866544" yMax="470.774282">
|
||||
<word xMin="118.537239" yMin="459.515072" xMax="133.866544" yMax="470.774282">Gk</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="474.639394" xMax="133.866544" yMax="485.898604">
|
||||
<word xMin="118.537239" yMin="474.639394" xMax="133.866544" yMax="485.898604">Gk</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="489.763685" xMax="134.526772" yMax="501.022894">
|
||||
<word xMin="118.537239" yMin="489.763685" xMax="134.526772" yMax="501.022894">BK</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="504.887976" xMax="134.526772" yMax="516.147186">
|
||||
<word xMin="118.537239" yMin="504.887976" xMax="134.526772" yMax="516.147186">BK</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="519.821669" xMax="134.526772" yMax="531.301966">
|
||||
<word xMin="118.537239" yMin="519.821669" xMax="134.526772" yMax="531.301966">BK</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="534.945991" xMax="134.526772" yMax="546.426287">
|
||||
<word xMin="118.537239" yMin="534.945991" xMax="134.526772" yMax="546.426287">BK</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="550.070312" xMax="133.206315" yMax="561.550608">
|
||||
<word xMin="118.537239" yMin="550.070312" xMax="133.206315" yMax="561.550608">Ph</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="565.194634" xMax="131.885858" yMax="576.674930">
|
||||
<word xMin="118.537239" yMin="565.194634" xMax="131.885858" yMax="576.674930">g4</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="580.318895" xMax="135.211009" yMax="591.799191">
|
||||
<word xMin="118.537239" yMin="580.318895" xMax="135.211009" yMax="591.799191">M1</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="595.633844" xMax="147.719338" yMax="606.893054">
|
||||
<word xMin="118.537239" yMin="595.633844" xMax="147.719338" yMax="606.893054">sem1</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="610.758166" xMax="147.719338" yMax="622.017376">
|
||||
<word xMin="118.537239" yMin="610.758166" xMax="147.719338" yMax="622.017376">sem1</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="625.691859" xMax="137.887935" yMax="637.172155">
|
||||
<word xMin="118.537239" yMin="625.691859" xMax="137.887935" yMax="637.172155">sp3</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="641.006809" xMax="137.887935" yMax="652.266018">
|
||||
<word xMin="118.537239" yMin="641.006809" xMax="137.887935" yMax="652.266018">bk1</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="655.940502" xMax="133.878548" yMax="667.420798">
|
||||
<word xMin="118.537239" yMin="655.940502" xMax="133.878548" yMax="667.420798">D2</word>
|
||||
</line>
|
||||
<line xMin="118.537239" yMin="671.064824" xMax="141.009015" yMax="682.545121">
|
||||
<word xMin="118.537239" yMin="671.064824" xMax="141.009015" yMax="682.545121">vma</word>
|
||||
</line>
|
||||
</block>
|
||||
</flow>
|
||||
<flow>
|
||||
<block xMin="155.176025" yMin="114.536755" xMax="177.047595" yMax="682.514662">
|
||||
<line xMin="155.176025" yMin="114.536755" xMax="177.047595" yMax="125.795965">
|
||||
<word xMin="155.176025" yMin="114.536755" xMax="177.047595" yMax="125.795965">Rau</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="129.661077" xMax="167.168175" yMax="140.920287">
|
||||
<word xMin="155.176025" yMin="129.661077" xMax="167.168175" yMax="140.920287">---</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="144.785399" xMax="175.198955" yMax="156.044609">
|
||||
<word xMin="155.176025" yMin="144.785399" xMax="175.198955" yMax="156.044609">114</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="159.909659" xMax="175.198955" yMax="171.168869">
|
||||
<word xMin="155.176025" yMin="159.909659" xMax="175.198955" yMax="171.168869">114</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="175.033981" xMax="175.198955" yMax="186.293190">
|
||||
<word xMin="155.176025" yMin="175.033981" xMax="175.198955" yMax="186.293190">114</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="190.158302" xMax="175.198955" yMax="201.417512">
|
||||
<word xMin="155.176025" yMin="190.158302" xMax="175.198955" yMax="201.417512">321</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="203.842207" xMax="175.198955" yMax="215.101417">
|
||||
<word xMin="155.176025" yMin="203.842207" xMax="175.198955" yMax="215.101417">121</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="218.966528" xMax="167.168175" yMax="230.225738">
|
||||
<word xMin="155.176025" yMin="218.966528" xMax="167.168175" yMax="230.225738">---</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="232.650432" xMax="167.168175" yMax="243.909642">
|
||||
<word xMin="155.176025" yMin="232.650432" xMax="167.168175" yMax="243.909642">---</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="247.774692" xMax="167.168175" yMax="259.033902">
|
||||
<word xMin="155.176025" yMin="247.774692" xMax="167.168175" yMax="259.033902">---</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="262.899014" xMax="175.198955" yMax="274.158224">
|
||||
<word xMin="155.176025" yMin="262.899014" xMax="175.198955" yMax="274.158224">414</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="278.023335" xMax="167.168175" yMax="289.282545">
|
||||
<word xMin="155.176025" yMin="278.023335" xMax="167.168175" yMax="289.282545">---</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="293.147658" xMax="167.168175" yMax="304.406867">
|
||||
<word xMin="155.176025" yMin="293.147658" xMax="167.168175" yMax="304.406867">---</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="308.271979" xMax="167.168175" yMax="319.531189">
|
||||
<word xMin="155.176025" yMin="308.271979" xMax="167.168175" yMax="319.531189">---</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="323.396269" xMax="167.168175" yMax="334.655479">
|
||||
<word xMin="155.176025" yMin="323.396269" xMax="167.168175" yMax="334.655479">---</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="338.520561" xMax="175.198955" yMax="349.779771">
|
||||
<word xMin="155.176025" yMin="338.520561" xMax="175.198955" yMax="349.779771">416</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="353.644882" xMax="167.168175" yMax="364.904092">
|
||||
<word xMin="155.176025" yMin="353.644882" xMax="167.168175" yMax="364.904092">---</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="368.769203" xMax="167.168175" yMax="380.028413">
|
||||
<word xMin="155.176025" yMin="368.769203" xMax="167.168175" yMax="380.028413">---</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="383.893495" xMax="175.198955" yMax="395.152705">
|
||||
<word xMin="155.176025" yMin="383.893495" xMax="175.198955" yMax="395.152705">322</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="399.017816" xMax="175.198955" yMax="410.277026">
|
||||
<word xMin="155.176025" yMin="399.017816" xMax="175.198955" yMax="410.277026">220</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="414.142138" xMax="175.198955" yMax="425.401348">
|
||||
<word xMin="155.176025" yMin="414.142138" xMax="175.198955" yMax="425.401348">220</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="429.266460" xMax="167.168175" yMax="440.525670">
|
||||
<word xMin="155.176025" yMin="429.266460" xMax="167.168175" yMax="440.525670">---</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="444.390750" xMax="167.168175" yMax="455.649960">
|
||||
<word xMin="155.176025" yMin="444.390750" xMax="167.168175" yMax="455.649960">---</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="459.515072" xMax="175.198955" yMax="470.774282">
|
||||
<word xMin="155.176025" yMin="459.515072" xMax="175.198955" yMax="470.774282">218</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="474.639394" xMax="175.198955" yMax="485.898604">
|
||||
<word xMin="155.176025" yMin="474.639394" xMax="175.198955" yMax="485.898604">218</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="489.763685" xMax="175.198955" yMax="501.022894">
|
||||
<word xMin="155.176025" yMin="489.763685" xMax="175.198955" yMax="501.022894">126</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="504.887976" xMax="175.198955" yMax="516.147186">
|
||||
<word xMin="155.176025" yMin="504.887976" xMax="175.198955" yMax="516.147186">126</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="520.012297" xMax="167.168175" yMax="531.271507">
|
||||
<word xMin="155.176025" yMin="520.012297" xMax="167.168175" yMax="531.271507">---</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="535.136619" xMax="167.168175" yMax="546.395829">
|
||||
<word xMin="155.176025" yMin="535.136619" xMax="167.168175" yMax="546.395829">---</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="550.260940" xMax="167.168175" yMax="561.520150">
|
||||
<word xMin="155.176025" yMin="550.260940" xMax="167.168175" yMax="561.520150">---</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="565.385262" xMax="167.168175" yMax="576.644471">
|
||||
<word xMin="155.176025" yMin="565.385262" xMax="167.168175" yMax="576.644471">---</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="580.509523" xMax="167.168175" yMax="591.768733">
|
||||
<word xMin="155.176025" yMin="580.509523" xMax="167.168175" yMax="591.768733">---</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="595.633844" xMax="175.198955" yMax="606.893054">
|
||||
<word xMin="155.176025" yMin="595.633844" xMax="175.198955" yMax="606.893054">324</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="610.758166" xMax="175.198955" yMax="622.017376">
|
||||
<word xMin="155.176025" yMin="610.758166" xMax="175.198955" yMax="622.017376">???</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="625.882487" xMax="167.168175" yMax="637.141697">
|
||||
<word xMin="155.176025" yMin="625.882487" xMax="167.168175" yMax="637.141697">---</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="641.006809" xMax="175.198955" yMax="652.266018">
|
||||
<word xMin="155.176025" yMin="641.006809" xMax="175.198955" yMax="652.266018">412</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="656.131130" xMax="167.168175" yMax="667.390340">
|
||||
<word xMin="155.176025" yMin="656.131130" xMax="167.168175" yMax="667.390340">---</word>
|
||||
</line>
|
||||
<line xMin="155.176025" yMin="671.255452" xMax="167.168175" yMax="682.514662">
|
||||
<word xMin="155.176025" yMin="671.255452" xMax="167.168175" yMax="682.514662">---</word>
|
||||
</line>
|
||||
</block>
|
||||
</flow>
|
||||
<flow>
|
||||
<block xMin="183.193911" yMin="114.536755" xMax="216.505439" yMax="140.920287">
|
||||
<line xMin="183.193911" yMin="114.536755" xMax="209.218917" yMax="125.795965">
|
||||
<word xMin="183.193911" yMin="114.536755" xMax="209.218917" yMax="125.795965">nach</word>
|
||||
</line>
|
||||
<line xMin="183.193911" yMin="129.661077" xMax="216.505439" yMax="140.920287">
|
||||
<word xMin="183.193911" yMin="129.661077" xMax="216.505439" yMax="140.920287">Entfall</word>
|
||||
</line>
|
||||
</block>
|
||||
</flow>
|
||||
<flow>
|
||||
<block xMin="260.781924" yMin="114.536755" xMax="349.948782" yMax="125.795965">
|
||||
<line xMin="260.781924" yMin="114.536755" xMax="349.948782" yMax="125.795965">
|
||||
<word xMin="260.781924" yMin="114.536755" xMax="349.948782" yMax="125.795965">Vertretungs-Text</word>
|
||||
</line>
|
||||
</block>
|
||||
<block xMin="260.781924" yMin="144.785399" xMax="407.280624" yMax="215.101417">
|
||||
<line xMin="260.781924" yMin="144.785399" xMax="407.280624" yMax="156.044609">
|
||||
<word xMin="260.781924" yMin="144.785399" xMax="278.788155" yMax="156.044609">Hei</word>
|
||||
<word xMin="281.849215" yMin="144.785399" xMax="285.174366" yMax="156.044609">/</word>
|
||||
<word xMin="288.319454" yMin="144.785399" xMax="343.214452" yMax="156.044609">Aufgaben,</word>
|
||||
<word xMin="346.383549" yMin="144.785399" xMax="407.280624" yMax="156.044609">Arbeitsheft!</word>
|
||||
</line>
|
||||
<line xMin="260.781924" yMin="159.909659" xMax="332.578771" yMax="171.168869">
|
||||
<word xMin="260.781924" yMin="159.909659" xMax="271.441613" yMax="171.168869">Ei</word>
|
||||
<word xMin="274.550689" yMin="159.909659" xMax="277.875840" yMax="171.168869">/</word>
|
||||
<word xMin="281.008924" yMin="159.909659" xMax="332.578771" yMax="171.168869">Aufgaben</word>
|
||||
</line>
|
||||
<line xMin="260.781924" yMin="175.033981" xMax="332.578771" yMax="186.293190">
|
||||
<word xMin="260.781924" yMin="175.033981" xMax="271.441613" yMax="186.293190">Ei</word>
|
||||
<word xMin="274.550689" yMin="175.033981" xMax="277.875840" yMax="186.293190">/</word>
|
||||
<word xMin="281.008924" yMin="175.033981" xMax="332.578771" yMax="186.293190">Aufgaben</word>
|
||||
</line>
|
||||
<line xMin="260.781924" yMin="190.158302" xMax="336.648179" yMax="201.417512">
|
||||
<word xMin="260.781924" yMin="190.158302" xMax="275.451001" yMax="201.417512">Bü</word>
|
||||
<word xMin="278.620097" yMin="190.158302" xMax="281.945248" yMax="201.417512">/</word>
|
||||
<word xMin="285.078332" yMin="190.158302" xMax="336.648179" yMax="201.417512">Aufgaben</word>
|
||||
</line>
|
||||
<line xMin="260.781924" yMin="203.842207" xMax="340.009343" yMax="215.101417">
|
||||
<word xMin="260.781924" yMin="203.842207" xMax="279.304334" yMax="215.101417">We</word>
|
||||
<word xMin="282.209339" yMin="203.842207" xMax="285.534490" yMax="215.101417">/</word>
|
||||
<word xMin="288.439496" yMin="203.842207" xMax="340.009343" yMax="215.101417">Aufgaben</word>
|
||||
</line>
|
||||
</block>
|
||||
</flow>
|
||||
<flow>
|
||||
<block xMin="183.193911" yMin="218.966528" xMax="216.505439" yMax="259.033902">
|
||||
<line xMin="183.193911" yMin="218.966528" xMax="216.505439" yMax="230.225738">
|
||||
<word xMin="183.193911" yMin="218.966528" xMax="216.505439" yMax="230.225738">Entfall</word>
|
||||
</line>
|
||||
<line xMin="183.193911" yMin="232.650432" xMax="216.505439" yMax="243.909642">
|
||||
<word xMin="183.193911" yMin="232.650432" xMax="216.505439" yMax="243.909642">Entfall</word>
|
||||
</line>
|
||||
<line xMin="183.193911" yMin="247.774692" xMax="216.505439" yMax="259.033902">
|
||||
<word xMin="183.193911" yMin="247.774692" xMax="216.505439" yMax="259.033902">Entfall</word>
|
||||
</line>
|
||||
</block>
|
||||
<block xMin="260.781924" yMin="262.899014" xMax="297.466620" yMax="274.158224">
|
||||
<line xMin="260.781924" yMin="262.899014" xMax="297.466620" yMax="274.158224">
|
||||
<word xMin="260.781924" yMin="262.899014" xMax="276.771458" yMax="274.158224">KA</word>
|
||||
<word xMin="280.144625" yMin="262.899014" xMax="297.466620" yMax="274.158224">Fkr</word>
|
||||
</line>
|
||||
</block>
|
||||
<block xMin="183.193911" yMin="278.023335" xMax="249.816967" yMax="334.655479">
|
||||
<line xMin="183.193911" yMin="278.023335" xMax="249.816967" yMax="289.282545">
|
||||
<word xMin="183.193911" yMin="278.023335" xMax="233.179210" yMax="289.282545">Mi-12.12.</word>
|
||||
<word xMin="236.564381" yMin="278.023335" xMax="239.889532" yMax="289.282545">/</word>
|
||||
<word xMin="243.142658" yMin="278.023335" xMax="249.816967" yMax="289.282545">1</word>
|
||||
</line>
|
||||
<line xMin="183.193911" yMin="293.147658" xMax="249.816967" yMax="304.406867">
|
||||
<word xMin="183.193911" yMin="293.147658" xMax="233.179210" yMax="304.406867">Mi-12.12.</word>
|
||||
<word xMin="236.564381" yMin="293.147658" xMax="239.889532" yMax="304.406867">/</word>
|
||||
<word xMin="243.142658" yMin="293.147658" xMax="249.816967" yMax="304.406867">2</word>
|
||||
</line>
|
||||
<line xMin="183.193911" yMin="308.271979" xMax="216.505439" yMax="319.531189">
|
||||
<word xMin="183.193911" yMin="308.271979" xMax="216.505439" yMax="319.531189">Entfall</word>
|
||||
</line>
|
||||
<line xMin="183.193911" yMin="323.396269" xMax="216.505439" yMax="334.655479">
|
||||
<word xMin="183.193911" yMin="323.396269" xMax="216.505439" yMax="334.655479">Entfall</word>
|
||||
</line>
|
||||
</block>
|
||||
<block xMin="183.193911" yMin="353.644882" xMax="216.505439" yMax="380.028413">
|
||||
<line xMin="183.193911" yMin="353.644882" xMax="216.505439" yMax="364.904092">
|
||||
<word xMin="183.193911" yMin="353.644882" xMax="216.505439" yMax="364.904092">Entfall</word>
|
||||
</line>
|
||||
<line xMin="183.193911" yMin="368.769203" xMax="216.505439" yMax="380.028413">
|
||||
<word xMin="183.193911" yMin="368.769203" xMax="216.505439" yMax="380.028413">Entfall</word>
|
||||
</line>
|
||||
</block>
|
||||
</flow>
|
||||
<flow>
|
||||
<block xMin="260.781924" yMin="338.520561" xMax="336.648179" yMax="364.904092">
|
||||
<line xMin="260.781924" yMin="338.520561" xMax="336.648179" yMax="349.779771">
|
||||
<word xMin="260.781924" yMin="338.520561" xMax="275.451001" yMax="349.779771">Ku</word>
|
||||
<word xMin="278.620097" yMin="338.520561" xMax="281.945248" yMax="349.779771">/</word>
|
||||
<word xMin="285.078332" yMin="338.520561" xMax="336.648179" yMax="349.779771">Aufgaben</word>
|
||||
</line>
|
||||
<line xMin="260.781924" yMin="353.644882" xMax="315.917005" yMax="364.904092">
|
||||
<word xMin="260.781924" yMin="353.644882" xMax="296.758375" yMax="364.904092">KEINE</word>
|
||||
<word xMin="299.927471" yMin="353.644882" xMax="315.917005" yMax="364.904092">KA</word>
|
||||
</line>
|
||||
</block>
|
||||
<block xMin="260.781924" yMin="383.893495" xMax="339.889301" yMax="425.401348">
|
||||
<line xMin="260.781924" yMin="383.893495" xMax="295.954096" yMax="395.152705">
|
||||
<word xMin="260.781924" yMin="383.893495" xMax="295.954096" yMax="395.152705">Raum!</word>
|
||||
</line>
|
||||
<line xMin="260.781924" yMin="399.017816" xMax="339.889301" yMax="410.277026">
|
||||
<word xMin="260.781924" yMin="399.017816" xMax="278.788155" yMax="410.277026">Hei</word>
|
||||
<word xMin="281.849215" yMin="399.017816" xMax="285.174366" yMax="410.277026">/</word>
|
||||
<word xMin="288.319454" yMin="399.017816" xMax="339.889301" yMax="410.277026">Aufgaben</word>
|
||||
</line>
|
||||
<line xMin="260.781924" yMin="414.142138" xMax="339.889301" yMax="425.401348">
|
||||
<word xMin="260.781924" yMin="414.142138" xMax="278.788155" yMax="425.401348">Hei</word>
|
||||
<word xMin="281.849215" yMin="414.142138" xMax="285.174366" yMax="425.401348">/</word>
|
||||
<word xMin="288.319454" yMin="414.142138" xMax="339.889301" yMax="425.401348">Aufgaben</word>
|
||||
</line>
|
||||
</block>
|
||||
</flow>
|
||||
<flow>
|
||||
<block xMin="183.193911" yMin="429.266460" xMax="252.577923" yMax="455.649960">
|
||||
<line xMin="183.193911" yMin="429.266460" xMax="252.577923" yMax="440.525670">
|
||||
<word xMin="183.193911" yMin="429.266460" xMax="235.880144" yMax="440.525670">Do-13.12.</word>
|
||||
<word xMin="239.313332" yMin="429.266460" xMax="242.638483" yMax="440.525670">/</word>
|
||||
<word xMin="245.903613" yMin="429.266460" xMax="252.577923" yMax="440.525670">3</word>
|
||||
</line>
|
||||
<line xMin="183.193911" yMin="444.390750" xMax="252.577923" yMax="455.649960">
|
||||
<word xMin="183.193911" yMin="444.390750" xMax="235.880144" yMax="455.649960">Do-13.12.</word>
|
||||
<word xMin="239.313332" yMin="444.390750" xMax="242.638483" yMax="455.649960">/</word>
|
||||
<word xMin="245.903613" yMin="444.390750" xMax="252.577923" yMax="455.649960">4</word>
|
||||
</line>
|
||||
</block>
|
||||
</flow>
|
||||
<flow>
|
||||
<block xMin="183.193911" yMin="520.012297" xMax="252.577923" yMax="591.768733">
|
||||
<line xMin="183.193911" yMin="520.012297" xMax="252.577923" yMax="531.271507">
|
||||
<word xMin="183.193911" yMin="520.012297" xMax="235.880144" yMax="531.271507">Do-13.12.</word>
|
||||
<word xMin="239.313332" yMin="520.012297" xMax="242.638483" yMax="531.271507">/</word>
|
||||
<word xMin="245.903613" yMin="520.012297" xMax="252.577923" yMax="531.271507">5</word>
|
||||
</line>
|
||||
<line xMin="183.193911" yMin="535.136619" xMax="252.577923" yMax="546.395829">
|
||||
<word xMin="183.193911" yMin="535.136619" xMax="235.880144" yMax="546.395829">Do-13.12.</word>
|
||||
<word xMin="239.313332" yMin="535.136619" xMax="242.638483" yMax="546.395829">/</word>
|
||||
<word xMin="245.903613" yMin="535.136619" xMax="252.577923" yMax="546.395829">6</word>
|
||||
</line>
|
||||
<line xMin="183.193911" yMin="550.260940" xMax="216.505439" yMax="561.520150">
|
||||
<word xMin="183.193911" yMin="550.260940" xMax="216.505439" yMax="561.520150">Entfall</word>
|
||||
</line>
|
||||
<line xMin="183.193911" yMin="565.385262" xMax="216.505439" yMax="576.644471">
|
||||
<word xMin="183.193911" yMin="565.385262" xMax="216.505439" yMax="576.644471">Entfall</word>
|
||||
</line>
|
||||
<line xMin="183.193911" yMin="580.509523" xMax="216.505439" yMax="591.768733">
|
||||
<word xMin="183.193911" yMin="580.509523" xMax="216.505439" yMax="591.768733">Entfall</word>
|
||||
</line>
|
||||
</block>
|
||||
<block xMin="260.781924" yMin="595.633844" xMax="424.302514" yMax="606.893054">
|
||||
<line xMin="260.781924" yMin="595.633844" xMax="424.302514" yMax="606.893054">
|
||||
<word xMin="260.781924" yMin="595.633844" xMax="299.459309" yMax="606.893054">geteilte</word>
|
||||
<word xMin="302.568385" yMin="595.633844" xMax="349.264546" yMax="606.893054">Gruppen</word>
|
||||
<word xMin="352.493663" yMin="595.633844" xMax="417.724238" yMax="606.893054">Schwimmen</word>
|
||||
<word xMin="420.977364" yMin="595.633844" xMax="424.302514" yMax="606.893054">/</word>
|
||||
</line>
|
||||
</block>
|
||||
<block xMin="183.193911" yMin="625.882487" xMax="216.505439" yMax="637.141697">
|
||||
<line xMin="183.193911" yMin="625.882487" xMax="216.505439" yMax="637.141697">
|
||||
<word xMin="183.193911" yMin="625.882487" xMax="216.505439" yMax="637.141697">Entfall</word>
|
||||
</line>
|
||||
</block>
|
||||
<block xMin="260.781924" yMin="641.006809" xMax="295.954096" yMax="652.266018">
|
||||
<line xMin="260.781924" yMin="641.006809" xMax="295.954096" yMax="652.266018">
|
||||
<word xMin="260.781924" yMin="641.006809" xMax="295.954096" yMax="652.266018">Raum!</word>
|
||||
</line>
|
||||
</block>
|
||||
<block xMin="183.193911" yMin="656.131130" xMax="216.505439" yMax="682.514662">
|
||||
<line xMin="183.193911" yMin="656.131130" xMax="216.505439" yMax="667.390340">
|
||||
<word xMin="183.193911" yMin="656.131130" xMax="216.505439" yMax="667.390340">Entfall</word>
|
||||
</line>
|
||||
<line xMin="183.193911" yMin="671.255452" xMax="216.505439" yMax="682.514662">
|
||||
<word xMin="183.193911" yMin="671.255452" xMax="216.505439" yMax="682.514662">Entfall</word>
|
||||
</line>
|
||||
</block>
|
||||
</flow>
|
||||
<flow>
|
||||
<block xMin="471.993720" yMin="6.712403" xMax="537.937342" yMax="19.097534">
|
||||
<line xMin="471.993720" yMin="6.712403" xMax="537.937342" yMax="19.097534">
|
||||
<word xMin="471.993720" yMin="6.712403" xMax="504.978736" yMax="19.097534">Untis</word>
|
||||
<word xMin="508.570379" yMin="6.712403" xMax="537.937342" yMax="19.097534">2017</word>
|
||||
</line>
|
||||
</block>
|
||||
<block xMin="447.567867" yMin="21.630261" xMax="537.238900" yMax="32.889471">
|
||||
<line xMin="447.567867" yMin="21.630261" xMax="537.238900" yMax="32.889471">
|
||||
<word xMin="447.567867" yMin="21.630261" xMax="507.876739" yMax="32.889471">13.12.2018</word>
|
||||
<word xMin="513.890820" yMin="21.630261" xMax="537.238900" yMax="32.889471">9:04</word>
|
||||
</line>
|
||||
</block>
|
||||
</flow>
|
||||
</page>
|
||||
<page width="595.440000" height="841.680000">
|
||||
</page>
|
||||
</doc>
|
||||
</body>
|
||||
</html>
|
BIN
shared/samplehtml/Download File.pdf
Normal file
82
shared/samplehtml/Download File.txt
Normal file
|
@ -0,0 +1,82 @@
|
|||
D-70563 FANNY-LEICHT-GYMN. Schuljahr 2018/19 - 1. Halbjahr Untis 2017
|
||||
STUTTGART, F.-LEICHT-STR. 13 gültig ab 10. September 2018 13.12.2018 9:04
|
||||
|
||||
Klasse 13.12. / Donnerstag Woche-A
|
||||
Ordnungsdienst: Klasse 10a
|
||||
|
||||
|
||||
Kl. Std. Vertr. Fach Rau nach Vertretungs-Text
|
||||
5b 1 Hei D --- Entfall
|
||||
5b 2 Fu D 114 Hei / Aufgaben, Arbeitsheft!
|
||||
5b 3 Oe M 114 Ei / Aufgaben
|
||||
5b 4 Rm M 114 Ei / Aufgaben
|
||||
6bc 5 Sf EvR 321 Bü / Aufgaben
|
||||
6bc 5 Dk KR 121 We / Aufgaben
|
||||
6bc 6 Bü EvR --- Entfall
|
||||
6bc 6 We KR --- Entfall
|
||||
6d 6 Ku Ek --- Entfall
|
||||
7b 2 Ga G 414 KA Fkr
|
||||
7b 8 Gg BK --- Mi-12.12. / 1
|
||||
7b 9 Gg BK --- Mi-12.12. / 2
|
||||
7c 8-9 Gw G --- Entfall
|
||||
7d 1 Ku D --- Entfall
|
||||
7d 2 Oz D 416 Ku / Aufgaben
|
||||
8a 1-2 Ei Ch --- Entfall KEINE KA
|
||||
D-70563 FANNY-LEICHT-GYMN. Schuljahr 2018/19 - 1. Halbjahr Untis 2017
|
||||
STUTTGART, F.-LEICHT-STR. 13 gültig ab 10. September 2018 13.12.2018 9:04
|
||||
|
||||
Klasse 13.12. / Donnerstag Woche-A
|
||||
Ordnungsdienst: Klasse 10a
|
||||
|
||||
|
||||
Kl. Std. Vertr. Fach Rau nach Vertretungs-Text
|
||||
9ac 8-9 Lk SpJ --- Entfall
|
||||
9c 1-2 Jw Gk 322 Raum!
|
||||
9c 3 Hf D 220 Hei / Aufgaben
|
||||
9c 4 Bkn D 220 Hei / Aufgaben
|
||||
9d 1 Rt Gk --- Do-13.12. / 3
|
||||
9d 2 Rt Gk --- Do-13.12. / 4
|
||||
9d 3 Rt Gk 218
|
||||
9d 4 Rt Gk 218
|
||||
9d 5 Ni BK 126
|
||||
9d 6 Ni BK 126
|
||||
9d 8 Ni BK --- Do-13.12. / 5
|
||||
9d 9 Ni BK --- Do-13.12. / 6
|
||||
10b 10 - 11 Fe Ph --- Entfall
|
||||
11 3-4 Ft g4 --- Entfall
|
||||
11 5 Ei M1 --- Entfall
|
||||
11 7 Gt sem1 324 geteilte Gruppen Schwimmen /
|
||||
11 8-9 Ro sem1 ???
|
||||
11 10 - 11 Lk sp3 --- Entfall
|
||||
12 1-2 Ni bk1 412 Raum!
|
||||
12 5 Ku D2 --- Entfall
|
||||
1112 8-9 Fe vma --- Entfall
|
||||
D-70563 FANNY-LEICHT-GYMN. Schuljahr 2018/19 - 1. Halbjahr Untis 2017
|
||||
STUTTGART, F.-LEICHT-STR. 13 gültig ab 10. September 2018 13.12.2018 9:04
|
||||
|
||||
Klasse 13.12. / Donnerstag Woche-A
|
||||
Ordnungsdienst: Klasse 10a
|
||||
|
||||
|
||||
Kl. Std. Vertr. Fach Rau nach Vertretungs-Text
|
||||
12ac 8-9 Lk SpJ --- Entfall
|
||||
13c 1-2 Jw Gk 322 Raum!
|
||||
13c 3 Hf D 220 Hei / Aufgaben
|
||||
913c 4 Bkn D 220 Hei / Aufgaben
|
||||
913d 1 Rt Gk --- Do-13.12. / 3
|
||||
13d 2 Rt Gk --- Do-13.12. / 4
|
||||
92d 3 Rt Gk 218
|
||||
91d 4 Rt Gk 218
|
||||
92d 5 Ni BK 126
|
||||
91d 6 Ni BK 126
|
||||
91d 8 Ni BK --- Do-13.12. / 5
|
||||
91d 9 Ni BK --- Do-13.12. / 6
|
||||
130b 10 - 11 Fe Ph --- Entfall
|
||||
131 3-4 Ft g4 --- Entfall
|
||||
131 5 Ei M1 --- Entfall
|
||||
131 7 Gt sem1 324 geteilte Gruppen Schwimmen /
|
||||
131 8-9 Ro sem1 ???
|
||||
131 10 - 11 Lk sp3 --- Entfall
|
||||
123 1-2 Ni bk1 412 Raum!
|
||||
122 5 Ku D2 --- Entfall
|
||||
11132 8-9 Fe vma --- Entfall
|
455
shared/samplehtml/Download File.xml
Normal file
|
@ -0,0 +1,455 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pdf2xml SYSTEM "pdf2xml.dtd">
|
||||
|
||||
<pdf2xml producer="poppler" version="0.68.0">
|
||||
<page number="1" position="absolute" top="0" left="0" height="1262" width="893">
|
||||
<fontspec id="0" size="17" family="Times" color="#000000"/>
|
||||
<fontspec id="1" size="16" family="Times" color="#000000"/>
|
||||
<fontspec id="2" size="25" family="Times" color="#000000"/>
|
||||
<fontspec id="3" size="14" family="Times" color="#000000"/>
|
||||
<fontspec id="4" size="16" family="Times" color="#000000"/>
|
||||
<text top="10" left="3" width="297" height="19" font="0"><b>D-70563 FANNY-LEICHT-GYMN.</b></text>
|
||||
<text top="32" left="3" width="275" height="17" font="1">STUTTGART, F.-LEICHT-STR. 13</text>
|
||||
<text top="9" left="332" width="248" height="17" font="1">Schuljahr 2018/19 - 1. Halbjahr</text>
|
||||
<text top="32" left="332" width="236" height="17" font="1">gültig ab 10. September 2018</text>
|
||||
<text top="10" left="708" width="99" height="19" font="0"><b>Untis 2017</b></text>
|
||||
<text top="32" left="671" width="135" height="17" font="1">13.12.2018 9:04</text>
|
||||
<text top="64" left="3" width="473" height="25" font="2"><b>Klasse 13.12. / Donnerstag Woche-A</b></text>
|
||||
<text top="111" left="3" width="203" height="15" font="3">Ordnungsdienst: Klasse 10a</text>
|
||||
<text top="172" left="3" width="21" height="17" font="1">Kl.</text>
|
||||
<text top="172" left="55" width="32" height="17" font="1">Std.</text>
|
||||
<text top="172" left="123" width="191" height="17" font="1">Vertr. Fach Rau nach</text>
|
||||
<text top="172" left="391" width="134" height="17" font="1">Vertretungs-Text</text>
|
||||
<text top="194" left="3" width="20" height="17" font="1">5b</text>
|
||||
<text top="194" left="55" width="10" height="17" font="1">1</text>
|
||||
<text top="194" left="123" width="27" height="17" font="4"><i>Hei</i></text>
|
||||
<text top="194" left="178" width="13" height="17" font="4"><i>D</i></text>
|
||||
<text top="194" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="194" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="217" left="3" width="20" height="17" font="1">5b</text>
|
||||
<text top="217" left="55" width="10" height="17" font="1">2</text>
|
||||
<text top="217" left="123" width="21" height="17" font="1">Fu</text>
|
||||
<text top="217" left="178" width="13" height="17" font="1">D</text>
|
||||
<text top="217" left="233" width="30" height="17" font="1">114</text>
|
||||
<text top="217" left="391" width="220" height="17" font="1">Hei / Aufgaben, Arbeitsheft!</text>
|
||||
<text top="240" left="3" width="20" height="17" font="1">5b</text>
|
||||
<text top="240" left="55" width="10" height="17" font="1">3</text>
|
||||
<text top="240" left="123" width="24" height="17" font="1">Oe</text>
|
||||
<text top="240" left="178" width="15" height="17" font="1">M</text>
|
||||
<text top="240" left="233" width="30" height="17" font="1">114</text>
|
||||
<text top="240" left="391" width="108" height="17" font="1">Ei / Aufgaben</text>
|
||||
<text top="263" left="3" width="20" height="17" font="1">5b</text>
|
||||
<text top="263" left="55" width="10" height="17" font="1">4</text>
|
||||
<text top="263" left="123" width="28" height="17" font="1">Rm</text>
|
||||
<text top="263" left="178" width="15" height="17" font="1">M</text>
|
||||
<text top="263" left="233" width="30" height="17" font="1">114</text>
|
||||
<text top="263" left="391" width="108" height="17" font="1">Ei / Aufgaben</text>
|
||||
<text top="285" left="3" width="29" height="17" font="1">6bc</text>
|
||||
<text top="285" left="55" width="10" height="17" font="1">5</text>
|
||||
<text top="285" left="123" width="17" height="17" font="1">Sf</text>
|
||||
<text top="285" left="178" width="34" height="17" font="1">EvR</text>
|
||||
<text top="285" left="233" width="30" height="17" font="1">321</text>
|
||||
<text top="285" left="391" width="114" height="17" font="1">Bü / Aufgaben</text>
|
||||
<text top="306" left="3" width="29" height="17" font="1">6bc</text>
|
||||
<text top="306" left="55" width="10" height="17" font="1">5</text>
|
||||
<text top="306" left="123" width="22" height="17" font="1">Dk</text>
|
||||
<text top="306" left="178" width="25" height="17" font="1">KR</text>
|
||||
<text top="306" left="233" width="30" height="17" font="1">121</text>
|
||||
<text top="306" left="391" width="119" height="17" font="1">We / Aufgaben</text>
|
||||
<text top="328" left="3" width="29" height="17" font="1">6bc</text>
|
||||
<text top="328" left="55" width="10" height="17" font="1">6</text>
|
||||
<text top="328" left="123" width="22" height="17" font="4"><i>Bü</i></text>
|
||||
<text top="328" left="178" width="34" height="17" font="4"><i>EvR</i></text>
|
||||
<text top="328" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="328" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="349" left="3" width="29" height="17" font="1">6bc</text>
|
||||
<text top="349" left="55" width="10" height="17" font="1">6</text>
|
||||
<text top="349" left="123" width="27" height="17" font="4"><i>We</i></text>
|
||||
<text top="349" left="178" width="25" height="17" font="4"><i>KR</i></text>
|
||||
<text top="349" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="349" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="372" left="3" width="20" height="17" font="1">6d</text>
|
||||
<text top="372" left="55" width="10" height="17" font="1">6</text>
|
||||
<text top="371" left="123" width="22" height="17" font="4"><i>Ku</i></text>
|
||||
<text top="371" left="178" width="21" height="17" font="4"><i>Ek</i></text>
|
||||
<text top="372" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="372" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="394" left="3" width="20" height="17" font="1">7b</text>
|
||||
<text top="394" left="55" width="10" height="17" font="1">2</text>
|
||||
<text top="394" left="123" width="24" height="17" font="1">Ga</text>
|
||||
<text top="394" left="178" width="14" height="17" font="1">G</text>
|
||||
<text top="394" left="233" width="30" height="17" font="1">414</text>
|
||||
<text top="394" left="391" width="55" height="17" font="1">KA Fkr</text>
|
||||
<text top="417" left="3" width="20" height="17" font="1">7b</text>
|
||||
<text top="417" left="55" width="10" height="17" font="1">8</text>
|
||||
<text top="417" left="123" width="24" height="17" font="4"><i>Gg</i></text>
|
||||
<text top="417" left="178" width="24" height="17" font="4"><i>BK</i></text>
|
||||
<text top="417" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="417" left="275" width="100" height="17" font="1">Mi-12.12. / 1</text>
|
||||
<text top="440" left="3" width="20" height="17" font="1">7b</text>
|
||||
<text top="440" left="55" width="10" height="17" font="1">9</text>
|
||||
<text top="439" left="123" width="24" height="17" font="4"><i>Gg</i></text>
|
||||
<text top="439" left="178" width="24" height="17" font="4"><i>BK</i></text>
|
||||
<text top="440" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="440" left="275" width="100" height="17" font="1">Mi-12.12. / 2</text>
|
||||
<text top="462" left="3" width="19" height="17" font="1">7c</text>
|
||||
<text top="462" left="55" width="36" height="17" font="1">8 - 9</text>
|
||||
<text top="462" left="123" width="27" height="17" font="4"><i>Gw</i></text>
|
||||
<text top="462" left="178" width="14" height="17" font="4"><i>G</i></text>
|
||||
<text top="462" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="462" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="485" left="3" width="20" height="17" font="1">7d</text>
|
||||
<text top="485" left="55" width="10" height="17" font="1">1</text>
|
||||
<text top="485" left="123" width="22" height="17" font="4"><i>Ku</i></text>
|
||||
<text top="485" left="178" width="13" height="17" font="4"><i>D</i></text>
|
||||
<text top="485" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="485" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="508" left="3" width="20" height="17" font="1">7d</text>
|
||||
<text top="508" left="55" width="10" height="17" font="1">2</text>
|
||||
<text top="508" left="123" width="23" height="17" font="1">Oz</text>
|
||||
<text top="508" left="178" width="13" height="17" font="1">D</text>
|
||||
<text top="508" left="233" width="30" height="17" font="1">416</text>
|
||||
<text top="508" left="391" width="114" height="17" font="1">Ku / Aufgaben</text>
|
||||
<text top="530" left="3" width="20" height="17" font="1">8a</text>
|
||||
<text top="530" left="55" width="36" height="17" font="1">1 - 2</text>
|
||||
<text top="530" left="123" width="16" height="17" font="4"><i>Ei</i></text>
|
||||
<text top="530" left="178" width="23" height="17" font="4"><i>Ch</i></text>
|
||||
<text top="530" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="530" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="530" left="391" width="83" height="17" font="1">KEINE KA</text>
|
||||
<text top="553" left="3" width="29" height="17" font="1">9ac</text>
|
||||
<text top="553" left="55" width="36" height="17" font="1">8 - 9</text>
|
||||
<text top="553" left="123" width="19" height="17" font="4"><i>Lk</i></text>
|
||||
<text top="553" left="178" width="31" height="17" font="4"><i>SpJ</i></text>
|
||||
<text top="553" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="553" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="576" left="3" width="19" height="17" font="1">9c</text>
|
||||
<text top="576" left="55" width="36" height="17" font="1">1 - 2</text>
|
||||
<text top="576" left="123" width="22" height="17" font="1">Jw</text>
|
||||
<text top="576" left="178" width="23" height="17" font="1">Gk</text>
|
||||
<text top="576" left="233" width="30" height="17" font="1">322</text>
|
||||
<text top="576" left="391" width="53" height="17" font="1">Raum!</text>
|
||||
<text top="599" left="3" width="19" height="17" font="1">9c</text>
|
||||
<text top="599" left="55" width="10" height="17" font="1">3</text>
|
||||
<text top="599" left="123" width="18" height="17" font="1">Hf</text>
|
||||
<text top="599" left="178" width="13" height="17" font="1">D</text>
|
||||
<text top="599" left="233" width="30" height="17" font="1">220</text>
|
||||
<text top="599" left="391" width="119" height="17" font="1">Hei / Aufgaben</text>
|
||||
<text top="621" left="3" width="19" height="17" font="1">9c</text>
|
||||
<text top="621" left="55" width="10" height="17" font="1">4</text>
|
||||
<text top="621" left="123" width="31" height="17" font="1">Bkn</text>
|
||||
<text top="621" left="178" width="13" height="17" font="1">D</text>
|
||||
<text top="621" left="233" width="30" height="17" font="1">220</text>
|
||||
<text top="621" left="391" width="119" height="17" font="1">Hei / Aufgaben</text>
|
||||
<text top="644" left="3" width="20" height="17" font="1">9d</text>
|
||||
<text top="644" left="55" width="10" height="17" font="1">1</text>
|
||||
<text top="644" left="123" width="18" height="17" font="4"><i>Rt</i></text>
|
||||
<text top="644" left="178" width="23" height="17" font="4"><i>Gk</i></text>
|
||||
<text top="644" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="644" left="275" width="104" height="17" font="1">Do-13.12. / 3</text>
|
||||
<text top="667" left="3" width="20" height="17" font="1">9d</text>
|
||||
<text top="667" left="55" width="10" height="17" font="1">2</text>
|
||||
<text top="666" left="123" width="18" height="17" font="4"><i>Rt</i></text>
|
||||
<text top="666" left="178" width="23" height="17" font="4"><i>Gk</i></text>
|
||||
<text top="667" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="667" left="275" width="104" height="17" font="1">Do-13.12. / 4</text>
|
||||
<text top="689" left="3" width="20" height="17" font="1">9d</text>
|
||||
<text top="689" left="55" width="10" height="17" font="1">3</text>
|
||||
<text top="689" left="123" width="18" height="17" font="1">Rt</text>
|
||||
<text top="689" left="178" width="23" height="17" font="1">Gk</text>
|
||||
<text top="689" left="233" width="30" height="17" font="1">218</text>
|
||||
<text top="712" left="3" width="20" height="17" font="1">9d</text>
|
||||
<text top="712" left="55" width="10" height="17" font="1">4</text>
|
||||
<text top="712" left="123" width="18" height="17" font="1">Rt</text>
|
||||
<text top="712" left="178" width="23" height="17" font="1">Gk</text>
|
||||
<text top="712" left="233" width="30" height="17" font="1">218</text>
|
||||
<text top="735" left="3" width="20" height="17" font="1">9d</text>
|
||||
<text top="735" left="55" width="10" height="17" font="1">5</text>
|
||||
<text top="735" left="123" width="17" height="17" font="1">Ni</text>
|
||||
<text top="735" left="178" width="24" height="17" font="1">BK</text>
|
||||
<text top="735" left="233" width="30" height="17" font="1">126</text>
|
||||
<text top="757" left="3" width="20" height="17" font="1">9d</text>
|
||||
<text top="757" left="55" width="10" height="17" font="1">6</text>
|
||||
<text top="757" left="123" width="17" height="17" font="1">Ni</text>
|
||||
<text top="757" left="178" width="24" height="17" font="1">BK</text>
|
||||
<text top="757" left="233" width="30" height="17" font="1">126</text>
|
||||
<text top="780" left="3" width="20" height="17" font="1">9d</text>
|
||||
<text top="780" left="55" width="10" height="17" font="1">8</text>
|
||||
<text top="780" left="123" width="17" height="17" font="4"><i>Ni</i></text>
|
||||
<text top="780" left="178" width="24" height="17" font="4"><i>BK</i></text>
|
||||
<text top="780" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="780" left="275" width="104" height="17" font="1">Do-13.12. / 5</text>
|
||||
<text top="803" left="3" width="20" height="17" font="1">9d</text>
|
||||
<text top="803" left="55" width="10" height="17" font="1">9</text>
|
||||
<text top="802" left="123" width="17" height="17" font="4"><i>Ni</i></text>
|
||||
<text top="802" left="178" width="24" height="17" font="4"><i>BK</i></text>
|
||||
<text top="803" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="803" left="275" width="104" height="17" font="1">Do-13.12. / 6</text>
|
||||
<text top="825" left="3" width="30" height="17" font="1">10b</text>
|
||||
<text top="825" left="55" width="56" height="17" font="1">10 - 11</text>
|
||||
<text top="825" left="123" width="21" height="17" font="4"><i>Fe</i></text>
|
||||
<text top="825" left="178" width="22" height="17" font="4"><i>Ph</i></text>
|
||||
<text top="825" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="825" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="848" left="3" width="20" height="17" font="1">11</text>
|
||||
<text top="848" left="55" width="36" height="17" font="1">3 - 4</text>
|
||||
<text top="848" left="123" width="16" height="17" font="4"><i>Ft</i></text>
|
||||
<text top="848" left="178" width="20" height="17" font="4"><i>g4</i></text>
|
||||
<text top="848" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="848" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="871" left="3" width="20" height="17" font="1">11</text>
|
||||
<text top="871" left="55" width="10" height="17" font="1">5</text>
|
||||
<text top="870" left="123" width="16" height="17" font="4"><i>Ei</i></text>
|
||||
<text top="870" left="178" width="25" height="17" font="4"><i>M1</i></text>
|
||||
<text top="871" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="871" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="893" left="3" width="20" height="17" font="1">11</text>
|
||||
<text top="893" left="55" width="10" height="17" font="1">7</text>
|
||||
<text top="893" left="123" width="19" height="17" font="1">Gt</text>
|
||||
<text top="893" left="178" width="85" height="17" font="1">sem1 324</text>
|
||||
<text top="893" left="391" width="250" height="17" font="1">geteilte Gruppen Schwimmen / </text>
|
||||
<text top="916" left="3" width="20" height="17" font="1">11</text>
|
||||
<text top="916" left="55" width="36" height="17" font="1">8 - 9</text>
|
||||
<text top="916" left="123" width="23" height="17" font="1">Ro</text>
|
||||
<text top="916" left="178" width="85" height="17" font="1">sem1 ???</text>
|
||||
<text top="939" left="3" width="20" height="17" font="1">11</text>
|
||||
<text top="939" left="55" width="56" height="17" font="1">10 - 11</text>
|
||||
<text top="939" left="123" width="19" height="17" font="4"><i>Lk</i></text>
|
||||
<text top="939" left="178" width="29" height="17" font="4"><i>sp3</i></text>
|
||||
<text top="939" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="939" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="962" left="3" width="20" height="17" font="1">12</text>
|
||||
<text top="962" left="55" width="36" height="17" font="1">1 - 2</text>
|
||||
<text top="962" left="123" width="17" height="17" font="1">Ni</text>
|
||||
<text top="962" left="178" width="29" height="17" font="1">bk1</text>
|
||||
<text top="962" left="233" width="30" height="17" font="1">412</text>
|
||||
<text top="962" left="391" width="53" height="17" font="1">Raum!</text>
|
||||
<text top="984" left="3" width="20" height="17" font="1">12</text>
|
||||
<text top="984" left="55" width="10" height="17" font="1">5</text>
|
||||
<text top="984" left="123" width="22" height="17" font="4"><i>Ku</i></text>
|
||||
<text top="984" left="178" width="23" height="17" font="4"><i>D2</i></text>
|
||||
<text top="984" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="984" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="1007" left="3" width="88" height="17" font="1">1112 8 - 9</text>
|
||||
<text top="1007" left="123" width="21" height="17" font="4"><i>Fe</i></text>
|
||||
<text top="1007" left="178" width="34" height="17" font="4"><i>vma</i></text>
|
||||
<text top="1007" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="1007" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
</page>
|
||||
<page number="2" position="absolute" top="0" left="0" height="1262" width="893">
|
||||
<text top="10" left="3" width="297" height="19" font="0"><b>D-70563 FANNY-LEICHT-GYMN.</b></text>
|
||||
<text top="32" left="3" width="275" height="17" font="1">STUTTGART, F.-LEICHT-STR. 13</text>
|
||||
<text top="9" left="332" width="248" height="17" font="1">Schuljahr 2018/19 - 1. Halbjahr</text>
|
||||
<text top="32" left="332" width="236" height="17" font="1">gültig ab 10. September 2018</text>
|
||||
<text top="10" left="708" width="99" height="19" font="0"><b>Untis 2017</b></text>
|
||||
<text top="32" left="671" width="135" height="17" font="1">13.12.2018 8:11</text>
|
||||
<text top="64" left="3" width="413" height="25" font="2"><b>Klasse 14.12. / Freitag Woche-A</b></text>
|
||||
<text top="111" left="3" width="203" height="15" font="3">Ordnungsdienst: Klasse 10a</text>
|
||||
<text top="172" left="3" width="21" height="17" font="1">Kl.</text>
|
||||
<text top="172" left="55" width="235" height="17" font="1">Std. Vertr. Fach Rau nach</text>
|
||||
<text top="172" left="398" width="134" height="17" font="1">Vertretungs-Text</text>
|
||||
<text top="194" left="3" width="62" height="17" font="1">5abc 1</text>
|
||||
<text top="194" left="102" width="27" height="17" font="4"><i>We</i></text>
|
||||
<text top="194" left="157" width="25" height="17" font="4"><i>KR</i></text>
|
||||
<text top="194" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="194" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="215" left="3" width="20" height="17" font="1">5a</text>
|
||||
<text top="215" left="55" width="10" height="17" font="1">1</text>
|
||||
<text top="215" left="102" width="22" height="17" font="4"><i>Bü</i></text>
|
||||
<text top="215" left="157" width="34" height="17" font="4"><i>EvR</i></text>
|
||||
<text top="215" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="215" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="238" left="3" width="62" height="17" font="1">5abc 2</text>
|
||||
<text top="238" left="102" width="22" height="17" font="1">Jw</text>
|
||||
<text top="238" left="157" width="25" height="17" font="1">KR</text>
|
||||
<text top="238" left="209" width="30" height="17" font="1">123</text>
|
||||
<text top="238" left="398" width="119" height="17" font="1">We / Aufgaben</text>
|
||||
<text top="258" left="3" width="20" height="17" font="1">5a</text>
|
||||
<text top="258" left="55" width="10" height="17" font="1">2</text>
|
||||
<text top="258" left="102" width="23" height="17" font="1">Ng</text>
|
||||
<text top="258" left="157" width="34" height="17" font="1">EvR</text>
|
||||
<text top="258" left="209" width="30" height="17" font="1">321</text>
|
||||
<text top="258" left="398" width="114" height="17" font="1">Bü / Aufgaben</text>
|
||||
<text top="281" left="3" width="20" height="17" font="1">5d</text>
|
||||
<text top="281" left="55" width="10" height="17" font="1">3</text>
|
||||
<text top="281" left="102" width="20" height="17" font="1">Lo</text>
|
||||
<text top="281" left="157" width="13" height="17" font="1">D</text>
|
||||
<text top="281" left="209" width="30" height="17" font="1">122</text>
|
||||
<text top="281" left="398" width="171" height="17" font="1">anstatt 17.12., 1. Std.</text>
|
||||
<text top="304" left="3" width="20" height="17" font="1">5d</text>
|
||||
<text top="304" left="55" width="10" height="17" font="1">4</text>
|
||||
<text top="304" left="102" width="20" height="17" font="1">Lo</text>
|
||||
<text top="304" left="157" width="13" height="17" font="1">D</text>
|
||||
<text top="304" left="209" width="30" height="17" font="1">122</text>
|
||||
<text top="304" left="398" width="166" height="17" font="1">anstatt 19.12., 1 Std.</text>
|
||||
<text top="326" left="3" width="20" height="17" font="1">6a</text>
|
||||
<text top="326" left="55" width="10" height="17" font="1">6</text>
|
||||
<text top="326" left="102" width="23" height="17" font="4"><i>He</i></text>
|
||||
<text top="326" left="157" width="12" height="17" font="4"><i>E</i></text>
|
||||
<text top="326" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="326" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="349" left="3" width="62" height="17" font="1">6acd 7</text>
|
||||
<text top="349" left="102" width="16" height="17" font="4"><i>Ft</i></text>
|
||||
<text top="349" left="157" width="26" height="17" font="4"><i>MF</i></text>
|
||||
<text top="349" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="349" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="372" left="3" width="19" height="17" font="1">6c</text>
|
||||
<text top="372" left="55" width="10" height="17" font="1">1</text>
|
||||
<text top="371" left="102" width="22" height="17" font="4"><i>Ku</i></text>
|
||||
<text top="371" left="157" width="13" height="17" font="4"><i>D</i></text>
|
||||
<text top="372" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="372" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="394" left="3" width="19" height="17" font="1">6c</text>
|
||||
<text top="394" left="55" width="10" height="17" font="1">2</text>
|
||||
<text top="394" left="102" width="16" height="17" font="1">Sl</text>
|
||||
<text top="394" left="157" width="13" height="17" font="1">D</text>
|
||||
<text top="394" left="209" width="30" height="17" font="1">121</text>
|
||||
<text top="394" left="398" width="114" height="17" font="1">Ku / Aufgaben</text>
|
||||
<text top="417" left="3" width="20" height="17" font="1">7a</text>
|
||||
<text top="417" left="55" width="10" height="17" font="1">3</text>
|
||||
<text top="417" left="102" width="17" height="17" font="1">Di</text>
|
||||
<text top="417" left="157" width="13" height="17" font="1">D</text>
|
||||
<text top="417" left="209" width="30" height="17" font="1">323</text>
|
||||
<text top="417" left="398" width="48" height="17" font="1">Raum</text>
|
||||
<text top="440" left="3" width="20" height="17" font="1">7a</text>
|
||||
<text top="440" left="55" width="10" height="17" font="1">4</text>
|
||||
<text top="440" left="102" width="33" height="17" font="1">Hhn</text>
|
||||
<text top="440" left="157" width="15" height="17" font="1">M</text>
|
||||
<text top="440" left="209" width="30" height="17" font="1">323</text>
|
||||
<text top="462" left="3" width="20" height="17" font="1">7a</text>
|
||||
<text top="462" left="55" width="10" height="17" font="1">5</text>
|
||||
<text top="462" left="102" width="33" height="17" font="1">Hhn</text>
|
||||
<text top="462" left="157" width="15" height="17" font="1">M</text>
|
||||
<text top="462" left="209" width="30" height="17" font="1">323</text>
|
||||
<text top="485" left="3" width="20" height="17" font="1">7a</text>
|
||||
<text top="485" left="55" width="10" height="17" font="1">6</text>
|
||||
<text top="485" left="102" width="33" height="17" font="1">Hhn</text>
|
||||
<text top="485" left="157" width="15" height="17" font="1">M</text>
|
||||
<text top="485" left="209" width="30" height="17" font="1">323</text>
|
||||
<text top="485" left="398" width="88" height="17" font="1">findet statt!</text>
|
||||
<text top="508" left="3" width="20" height="17" font="1">7b</text>
|
||||
<text top="508" left="55" width="10" height="17" font="1">6</text>
|
||||
<text top="507" left="102" width="18" height="17" font="4"><i>Rt</i></text>
|
||||
<text top="507" left="157" width="13" height="17" font="4"><i>D</i></text>
|
||||
<text top="508" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="508" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="530" left="3" width="20" height="17" font="1">8a</text>
|
||||
<text top="530" left="55" width="10" height="17" font="1">1</text>
|
||||
<text top="530" left="102" width="16" height="17" font="4"><i>Ft</i></text>
|
||||
<text top="530" left="157" width="15" height="17" font="4"><i>M</i></text>
|
||||
<text top="530" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="530" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="553" left="3" width="20" height="17" font="1">8a</text>
|
||||
<text top="553" left="55" width="10" height="17" font="1">2</text>
|
||||
<text top="553" left="102" width="14" height="17" font="1">Li</text>
|
||||
<text top="553" left="157" width="12" height="17" font="1">E</text>
|
||||
<text top="553" left="209" width="30" height="17" font="1">323</text>
|
||||
<text top="553" left="398" width="89" height="17" font="1">statt 18.12.</text>
|
||||
<text top="576" left="3" width="19" height="17" font="1">9c</text>
|
||||
<text top="576" left="55" width="36" height="17" font="1">5 - 6</text>
|
||||
<text top="576" left="102" width="27" height="17" font="4"><i>Hei</i></text>
|
||||
<text top="576" left="157" width="13" height="17" font="4"><i>D</i></text>
|
||||
<text top="576" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="576" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="599" left="3" width="20" height="17" font="1">9d</text>
|
||||
<text top="599" left="55" width="75" height="17" font="1">1 - 2 Rm</text>
|
||||
<text top="599" left="157" width="82" height="17" font="1">NWT 412</text>
|
||||
<text top="599" left="398" width="48" height="17" font="1">Raum</text>
|
||||
<text top="621" left="3" width="20" height="17" font="1">9d</text>
|
||||
<text top="621" left="55" width="36" height="17" font="1">5 - 6</text>
|
||||
<text top="621" left="102" width="16" height="17" font="4"><i>Ft</i></text>
|
||||
<text top="621" left="157" width="15" height="17" font="4"><i>M</i></text>
|
||||
<text top="621" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="621" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="644" left="3" width="30" height="17" font="1">10a</text>
|
||||
<text top="644" left="55" width="80" height="17" font="1">3 - 4 Smr</text>
|
||||
<text top="644" left="157" width="12" height="17" font="1">E</text>
|
||||
<text top="644" left="209" width="30" height="17" font="1">413</text>
|
||||
<text top="644" left="398" width="175" height="17" font="1">Hörverstehensklausur</text>
|
||||
<text top="664" left="3" width="62" height="17" font="1">10ad 3</text>
|
||||
<text top="664" left="102" width="23" height="17" font="1">Ro</text>
|
||||
<text top="664" left="157" width="34" height="17" font="1">EvR</text>
|
||||
<text top="664" left="209" width="25" height="17" font="1">SH</text>
|
||||
<text top="664" left="398" width="48" height="17" font="1">Sport!</text>
|
||||
<text top="685" left="3" width="88" height="17" font="1">10ad 3 - 4</text>
|
||||
<text top="685" left="102" width="27" height="17" font="4"><i>We</i></text>
|
||||
<text top="685" left="157" width="25" height="17" font="4"><i>KR</i></text>
|
||||
<text top="685" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="685" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="708" left="3" width="62" height="17" font="1">10ad 4</text>
|
||||
<text top="708" left="102" width="19" height="17" font="1">Lk</text>
|
||||
<text top="708" left="157" width="34" height="17" font="1">EvR</text>
|
||||
<text top="708" left="209" width="25" height="17" font="1">SH</text>
|
||||
<text top="708" left="398" width="48" height="17" font="1">Sport!</text>
|
||||
<text top="730" left="3" width="30" height="17" font="1">10b</text>
|
||||
<text top="730" left="55" width="63" height="17" font="1">3 - 4 Ki</text>
|
||||
<text top="730" left="157" width="12" height="17" font="1">E</text>
|
||||
<text top="730" left="209" width="30" height="17" font="1">414</text>
|
||||
<text top="730" left="398" width="175" height="17" font="1">Hörverstehensklausur</text>
|
||||
<text top="751" left="3" width="30" height="17" font="1">10b</text>
|
||||
<text top="751" left="55" width="36" height="17" font="1">3 - 4</text>
|
||||
<text top="751" left="102" width="23" height="17" font="4"><i>He</i></text>
|
||||
<text top="751" left="157" width="23" height="17" font="4"><i>Gk</i></text>
|
||||
<text top="751" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="751" left="251" width="133" height="17" font="1">Entfall für Lehrer</text>
|
||||
<text top="774" left="3" width="88" height="17" font="1">10bc 5 - 6</text>
|
||||
<text top="773" left="102" width="27" height="17" font="4"><i>We</i></text>
|
||||
<text top="773" left="157" width="25" height="17" font="4"><i>KR</i></text>
|
||||
<text top="774" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="774" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="796" left="3" width="29" height="17" font="1">10c</text>
|
||||
<text top="796" left="55" width="36" height="17" font="1">3 - 4</text>
|
||||
<text top="796" left="102" width="33" height="17" font="4"><i>Ran</i></text>
|
||||
<text top="796" left="157" width="15" height="17" font="4"><i>M</i></text>
|
||||
<text top="796" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="796" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="796" left="398" width="86" height="17" font="1">alle bei Oe</text>
|
||||
<text top="817" left="3" width="29" height="17" font="1">10c</text>
|
||||
<text top="817" left="55" width="71" height="17" font="1">3 - 4 Oe</text>
|
||||
<text top="817" left="157" width="12" height="17" font="1">E</text>
|
||||
<text top="817" left="209" width="30" height="17" font="1">422</text>
|
||||
<text top="817" left="398" width="175" height="17" font="1">Hörverstehensklausur</text>
|
||||
<text top="839" left="3" width="30" height="17" font="1">10d</text>
|
||||
<text top="839" left="55" width="74" height="17" font="1">3 - 4 Wd</text>
|
||||
<text top="839" left="157" width="12" height="17" font="1">E</text>
|
||||
<text top="839" left="209" width="30" height="17" font="1">416</text>
|
||||
<text top="839" left="398" width="175" height="17" font="1">Hörverstehensklausur</text>
|
||||
<text top="862" left="3" width="20" height="17" font="1">11</text>
|
||||
<text top="862" left="55" width="64" height="17" font="1">3 - 4 At</text>
|
||||
<text top="862" left="157" width="23" height="17" font="1">D3</text>
|
||||
<text top="862" left="209" width="30" height="17" font="1">121</text>
|
||||
<text top="862" left="398" width="48" height="17" font="1">Raum</text>
|
||||
<text top="883" left="3" width="20" height="17" font="1">11</text>
|
||||
<text top="883" left="55" width="63" height="17" font="1">3 - 4 Sl</text>
|
||||
<text top="883" left="157" width="23" height="17" font="1">D2</text>
|
||||
<text top="883" left="209" width="30" height="17" font="1">415</text>
|
||||
<text top="883" left="398" width="48" height="17" font="1">Raum</text>
|
||||
<text top="905" left="3" width="20" height="17" font="1">12</text>
|
||||
<text top="905" left="55" width="67" height="17" font="1">1 - 2 Lo</text>
|
||||
<text top="905" left="157" width="32" height="17" font="1">Sp1</text>
|
||||
<text top="905" left="209" width="30" height="17" font="1">222</text>
|
||||
<text top="905" left="398" width="61" height="17" font="1">Theorie</text>
|
||||
<text top="928" left="3" width="20" height="17" font="1">12</text>
|
||||
<text top="928" left="55" width="67" height="17" font="1">3 - 4 Mf</text>
|
||||
<text top="928" left="157" width="22" height="17" font="1">E2</text>
|
||||
<text top="928" left="209" width="30" height="17" font="1">218</text>
|
||||
<text top="928" left="398" width="48" height="17" font="1">Raum</text>
|
||||
<text top="949" left="3" width="20" height="17" font="1">12</text>
|
||||
<text top="949" left="55" width="64" height="17" font="1">3 - 4 Sf</text>
|
||||
<text top="949" left="157" width="25" height="17" font="1">M3</text>
|
||||
<text top="949" left="209" width="30" height="17" font="1">322</text>
|
||||
<text top="949" left="398" width="48" height="17" font="1">Raum</text>
|
||||
<text top="969" left="3" width="20" height="17" font="1">12</text>
|
||||
<text top="969" left="55" width="36" height="17" font="1">3 - 4</text>
|
||||
<text top="969" left="102" width="16" height="17" font="4"><i>Ft</i></text>
|
||||
<text top="969" left="157" width="25" height="17" font="4"><i>M2</i></text>
|
||||
<text top="969" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="969" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="992" left="3" width="20" height="17" font="1">12</text>
|
||||
<text top="992" left="55" width="36" height="17" font="1">5 - 6</text>
|
||||
<text top="991" left="102" width="22" height="17" font="4"><i>Ku</i></text>
|
||||
<text top="991" left="157" width="29" height="17" font="4"><i>ek1</i></text>
|
||||
<text top="992" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="992" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
</page>
|
||||
</pdf2xml>
|
1
shared/samplehtml/convert.sh
Executable file
|
@ -0,0 +1 @@
|
|||
pdftotext Download\ File.pdf -layout -y 130 -H 1000 -W 1000 -nopgbrk
|
455
shared/samplehtml/prefix.xml
Normal file
|
@ -0,0 +1,455 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pdf2xml SYSTEM "pdf2xml.dtd">
|
||||
|
||||
<pdf2xml producer="poppler" version="0.68.0">
|
||||
<page number="1" position="absolute" top="0" left="0" height="1262" width="893">
|
||||
<fontspec id="0" size="17" family="Times" color="#000000"/>
|
||||
<fontspec id="1" size="16" family="Times" color="#000000"/>
|
||||
<fontspec id="2" size="25" family="Times" color="#000000"/>
|
||||
<fontspec id="3" size="14" family="Times" color="#000000"/>
|
||||
<fontspec id="4" size="16" family="Times" color="#000000"/>
|
||||
<text top="10" left="3" width="297" height="19" font="0"><b>D-70563 FANNY-LEICHT-GYMN.</b></text>
|
||||
<text top="32" left="3" width="275" height="17" font="1">STUTTGART, F.-LEICHT-STR. 13</text>
|
||||
<text top="9" left="332" width="248" height="17" font="1">Schuljahr 2018/19 - 1. Halbjahr</text>
|
||||
<text top="32" left="332" width="236" height="17" font="1">gültig ab 10. September 2018</text>
|
||||
<text top="10" left="708" width="99" height="19" font="0"><b>Untis 2017</b></text>
|
||||
<text top="32" left="671" width="135" height="17" font="1">13.12.2018 9:04</text>
|
||||
<text top="64" left="3" width="473" height="25" font="2"><b>Klasse 13.12. / Donnerstag Woche-A</b></text>
|
||||
<text top="111" left="3" width="203" height="15" font="3">Ordnungsdienst: Klasse 10a</text>
|
||||
<text top="172" left="3" width="21" height="17" font="1">Kl.</text>
|
||||
<text top="172" left="55" width="32" height="17" font="1">Std.</text>
|
||||
<text top="172" left="123" width="191" height="17" font="1">Vertr. Fach Rau nach</text>
|
||||
<text top="172" left="391" width="134" height="17" font="1">Vertretungs-Text</text>
|
||||
<text top="194" left="3" width="20" height="17" font="1">5b</text>
|
||||
<text top="194" left="55" width="10" height="17" font="1">1</text>
|
||||
<text top="194" left="123" width="27" height="17" font="4"><i>Hei</i></text>
|
||||
<text top="194" left="178" width="13" height="17" font="4"><i>D</i></text>
|
||||
<text top="194" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="194" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="217" left="3" width="20" height="17" font="1">5b</text>
|
||||
<text top="217" left="55" width="10" height="17" font="1">2</text>
|
||||
<text top="217" left="123" width="21" height="17" font="1">Fu</text>
|
||||
<text top="217" left="178" width="13" height="17" font="1">D</text>
|
||||
<text top="217" left="233" width="30" height="17" font="1">114</text>
|
||||
<text top="217" left="391" width="220" height="17" font="1">Hei / Aufgaben, Arbeitsheft!</text>
|
||||
<text top="240" left="3" width="20" height="17" font="1">5b</text>
|
||||
<text top="240" left="55" width="10" height="17" font="1">3</text>
|
||||
<text top="240" left="123" width="24" height="17" font="1">Oe</text>
|
||||
<text top="240" left="178" width="15" height="17" font="1">M</text>
|
||||
<text top="240" left="233" width="30" height="17" font="1">114</text>
|
||||
<text top="240" left="391" width="108" height="17" font="1">Ei / Aufgaben</text>
|
||||
<text top="263" left="3" width="20" height="17" font="1">5b</text>
|
||||
<text top="263" left="55" width="10" height="17" font="1">4</text>
|
||||
<text top="263" left="123" width="28" height="17" font="1">Rm</text>
|
||||
<text top="263" left="178" width="15" height="17" font="1">M</text>
|
||||
<text top="263" left="233" width="30" height="17" font="1">114</text>
|
||||
<text top="263" left="391" width="108" height="17" font="1">Ei / Aufgaben</text>
|
||||
<text top="285" left="3" width="29" height="17" font="1">6bc</text>
|
||||
<text top="285" left="55" width="10" height="17" font="1">5</text>
|
||||
<text top="285" left="123" width="17" height="17" font="1">Sf</text>
|
||||
<text top="285" left="178" width="34" height="17" font="1">EvR</text>
|
||||
<text top="285" left="233" width="30" height="17" font="1">321</text>
|
||||
<text top="285" left="391" width="114" height="17" font="1">Bü / Aufgaben</text>
|
||||
<text top="306" left="3" width="29" height="17" font="1">6bc</text>
|
||||
<text top="306" left="55" width="10" height="17" font="1">5</text>
|
||||
<text top="306" left="123" width="22" height="17" font="1">Dk</text>
|
||||
<text top="306" left="178" width="25" height="17" font="1">KR</text>
|
||||
<text top="306" left="233" width="30" height="17" font="1">121</text>
|
||||
<text top="306" left="391" width="119" height="17" font="1">We / Aufgaben</text>
|
||||
<text top="328" left="3" width="29" height="17" font="1">6bc</text>
|
||||
<text top="328" left="55" width="10" height="17" font="1">6</text>
|
||||
<text top="328" left="123" width="22" height="17" font="4"><i>Bü</i></text>
|
||||
<text top="328" left="178" width="34" height="17" font="4"><i>EvR</i></text>
|
||||
<text top="328" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="328" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="349" left="3" width="29" height="17" font="1">6bc</text>
|
||||
<text top="349" left="55" width="10" height="17" font="1">6</text>
|
||||
<text top="349" left="123" width="27" height="17" font="4"><i>We</i></text>
|
||||
<text top="349" left="178" width="25" height="17" font="4"><i>KR</i></text>
|
||||
<text top="349" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="349" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="372" left="3" width="20" height="17" font="1">6d</text>
|
||||
<text top="372" left="55" width="10" height="17" font="1">6</text>
|
||||
<text top="371" left="123" width="22" height="17" font="4"><i>Ku</i></text>
|
||||
<text top="371" left="178" width="21" height="17" font="4"><i>Ek</i></text>
|
||||
<text top="372" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="372" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="394" left="3" width="20" height="17" font="1">7b</text>
|
||||
<text top="394" left="55" width="10" height="17" font="1">2</text>
|
||||
<text top="394" left="123" width="24" height="17" font="1">Ga</text>
|
||||
<text top="394" left="178" width="14" height="17" font="1">G</text>
|
||||
<text top="394" left="233" width="30" height="17" font="1">414</text>
|
||||
<text top="394" left="391" width="55" height="17" font="1">KA Fkr</text>
|
||||
<text top="417" left="3" width="20" height="17" font="1">7b</text>
|
||||
<text top="417" left="55" width="10" height="17" font="1">8</text>
|
||||
<text top="417" left="123" width="24" height="17" font="4"><i>Gg</i></text>
|
||||
<text top="417" left="178" width="24" height="17" font="4"><i>BK</i></text>
|
||||
<text top="417" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="417" left="275" width="100" height="17" font="1">Mi-12.12. / 1</text>
|
||||
<text top="440" left="3" width="20" height="17" font="1">7b</text>
|
||||
<text top="440" left="55" width="10" height="17" font="1">9</text>
|
||||
<text top="439" left="123" width="24" height="17" font="4"><i>Gg</i></text>
|
||||
<text top="439" left="178" width="24" height="17" font="4"><i>BK</i></text>
|
||||
<text top="440" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="440" left="275" width="100" height="17" font="1">Mi-12.12. / 2</text>
|
||||
<text top="462" left="3" width="19" height="17" font="1">7c</text>
|
||||
<text top="462" left="55" width="36" height="17" font="1">8 - 9</text>
|
||||
<text top="462" left="123" width="27" height="17" font="4"><i>Gw</i></text>
|
||||
<text top="462" left="178" width="14" height="17" font="4"><i>G</i></text>
|
||||
<text top="462" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="462" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="485" left="3" width="20" height="17" font="1">7d</text>
|
||||
<text top="485" left="55" width="10" height="17" font="1">1</text>
|
||||
<text top="485" left="123" width="22" height="17" font="4"><i>Ku</i></text>
|
||||
<text top="485" left="178" width="13" height="17" font="4"><i>D</i></text>
|
||||
<text top="485" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="485" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="508" left="3" width="20" height="17" font="1">7d</text>
|
||||
<text top="508" left="55" width="10" height="17" font="1">2</text>
|
||||
<text top="508" left="123" width="23" height="17" font="1">Oz</text>
|
||||
<text top="508" left="178" width="13" height="17" font="1">D</text>
|
||||
<text top="508" left="233" width="30" height="17" font="1">416</text>
|
||||
<text top="508" left="391" width="114" height="17" font="1">Ku / Aufgaben</text>
|
||||
<text top="530" left="3" width="20" height="17" font="1">8a</text>
|
||||
<text top="530" left="55" width="36" height="17" font="1">1 - 2</text>
|
||||
<text top="530" left="123" width="16" height="17" font="4"><i>Ei</i></text>
|
||||
<text top="530" left="178" width="23" height="17" font="4"><i>Ch</i></text>
|
||||
<text top="530" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="530" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="530" left="391" width="83" height="17" font="1">KEINE KA</text>
|
||||
<text top="553" left="3" width="29" height="17" font="1">9ac</text>
|
||||
<text top="553" left="55" width="36" height="17" font="1">8 - 9</text>
|
||||
<text top="553" left="123" width="19" height="17" font="4"><i>Lk</i></text>
|
||||
<text top="553" left="178" width="31" height="17" font="4"><i>SpJ</i></text>
|
||||
<text top="553" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="553" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="576" left="3" width="19" height="17" font="1">9c</text>
|
||||
<text top="576" left="55" width="36" height="17" font="1">1 - 2</text>
|
||||
<text top="576" left="123" width="22" height="17" font="1">Jw</text>
|
||||
<text top="576" left="178" width="23" height="17" font="1">Gk</text>
|
||||
<text top="576" left="233" width="30" height="17" font="1">322</text>
|
||||
<text top="576" left="391" width="53" height="17" font="1">Raum!</text>
|
||||
<text top="599" left="3" width="19" height="17" font="1">9c</text>
|
||||
<text top="599" left="55" width="10" height="17" font="1">3</text>
|
||||
<text top="599" left="123" width="18" height="17" font="1">Hf</text>
|
||||
<text top="599" left="178" width="13" height="17" font="1">D</text>
|
||||
<text top="599" left="233" width="30" height="17" font="1">220</text>
|
||||
<text top="599" left="391" width="119" height="17" font="1">Hei / Aufgaben</text>
|
||||
<text top="621" left="3" width="19" height="17" font="1">9c</text>
|
||||
<text top="621" left="55" width="10" height="17" font="1">4</text>
|
||||
<text top="621" left="123" width="31" height="17" font="1">Bkn</text>
|
||||
<text top="621" left="178" width="13" height="17" font="1">D</text>
|
||||
<text top="621" left="233" width="30" height="17" font="1">220</text>
|
||||
<text top="621" left="391" width="119" height="17" font="1">Hei / Aufgaben</text>
|
||||
<text top="644" left="3" width="20" height="17" font="1">9d</text>
|
||||
<text top="644" left="55" width="10" height="17" font="1">1</text>
|
||||
<text top="644" left="123" width="18" height="17" font="4"><i>Rt</i></text>
|
||||
<text top="644" left="178" width="23" height="17" font="4"><i>Gk</i></text>
|
||||
<text top="644" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="644" left="275" width="104" height="17" font="1">Do-13.12. / 3</text>
|
||||
<text top="667" left="3" width="20" height="17" font="1">9d</text>
|
||||
<text top="667" left="55" width="10" height="17" font="1">2</text>
|
||||
<text top="666" left="123" width="18" height="17" font="4"><i>Rt</i></text>
|
||||
<text top="666" left="178" width="23" height="17" font="4"><i>Gk</i></text>
|
||||
<text top="667" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="667" left="275" width="104" height="17" font="1">Do-13.12. / 4</text>
|
||||
<text top="689" left="3" width="20" height="17" font="1">9d</text>
|
||||
<text top="689" left="55" width="10" height="17" font="1">3</text>
|
||||
<text top="689" left="123" width="18" height="17" font="1">Rt</text>
|
||||
<text top="689" left="178" width="23" height="17" font="1">Gk</text>
|
||||
<text top="689" left="233" width="30" height="17" font="1">218</text>
|
||||
<text top="712" left="3" width="20" height="17" font="1">9d</text>
|
||||
<text top="712" left="55" width="10" height="17" font="1">4</text>
|
||||
<text top="712" left="123" width="18" height="17" font="1">Rt</text>
|
||||
<text top="712" left="178" width="23" height="17" font="1">Gk</text>
|
||||
<text top="712" left="233" width="30" height="17" font="1">218</text>
|
||||
<text top="735" left="3" width="20" height="17" font="1">9d</text>
|
||||
<text top="735" left="55" width="10" height="17" font="1">5</text>
|
||||
<text top="735" left="123" width="17" height="17" font="1">Ni</text>
|
||||
<text top="735" left="178" width="24" height="17" font="1">BK</text>
|
||||
<text top="735" left="233" width="30" height="17" font="1">126</text>
|
||||
<text top="757" left="3" width="20" height="17" font="1">9d</text>
|
||||
<text top="757" left="55" width="10" height="17" font="1">6</text>
|
||||
<text top="757" left="123" width="17" height="17" font="1">Ni</text>
|
||||
<text top="757" left="178" width="24" height="17" font="1">BK</text>
|
||||
<text top="757" left="233" width="30" height="17" font="1">126</text>
|
||||
<text top="780" left="3" width="20" height="17" font="1">9d</text>
|
||||
<text top="780" left="55" width="10" height="17" font="1">8</text>
|
||||
<text top="780" left="123" width="17" height="17" font="4"><i>Ni</i></text>
|
||||
<text top="780" left="178" width="24" height="17" font="4"><i>BK</i></text>
|
||||
<text top="780" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="780" left="275" width="104" height="17" font="1">Do-13.12. / 5</text>
|
||||
<text top="803" left="3" width="20" height="17" font="1">9d</text>
|
||||
<text top="803" left="55" width="10" height="17" font="1">9</text>
|
||||
<text top="802" left="123" width="17" height="17" font="4"><i>Ni</i></text>
|
||||
<text top="802" left="178" width="24" height="17" font="4"><i>BK</i></text>
|
||||
<text top="803" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="803" left="275" width="104" height="17" font="1">Do-13.12. / 6</text>
|
||||
<text top="825" left="3" width="30" height="17" font="1">10b</text>
|
||||
<text top="825" left="55" width="56" height="17" font="1">10 - 11</text>
|
||||
<text top="825" left="123" width="21" height="17" font="4"><i>Fe</i></text>
|
||||
<text top="825" left="178" width="22" height="17" font="4"><i>Ph</i></text>
|
||||
<text top="825" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="825" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="848" left="3" width="20" height="17" font="1">11</text>
|
||||
<text top="848" left="55" width="36" height="17" font="1">3 - 4</text>
|
||||
<text top="848" left="123" width="16" height="17" font="4"><i>Ft</i></text>
|
||||
<text top="848" left="178" width="20" height="17" font="4"><i>g4</i></text>
|
||||
<text top="848" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="848" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="871" left="3" width="20" height="17" font="1">11</text>
|
||||
<text top="871" left="55" width="10" height="17" font="1">5</text>
|
||||
<text top="870" left="123" width="16" height="17" font="4"><i>Ei</i></text>
|
||||
<text top="870" left="178" width="25" height="17" font="4"><i>M1</i></text>
|
||||
<text top="871" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="871" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="893" left="3" width="20" height="17" font="1">11</text>
|
||||
<text top="893" left="55" width="10" height="17" font="1">7</text>
|
||||
<text top="893" left="123" width="19" height="17" font="1">Gt</text>
|
||||
<text top="893" left="178" width="85" height="17" font="1">sem1 324</text>
|
||||
<text top="893" left="391" width="250" height="17" font="1">geteilte Gruppen Schwimmen / </text>
|
||||
<text top="916" left="3" width="20" height="17" font="1">11</text>
|
||||
<text top="916" left="55" width="36" height="17" font="1">8 - 9</text>
|
||||
<text top="916" left="123" width="23" height="17" font="1">Ro</text>
|
||||
<text top="916" left="178" width="85" height="17" font="1">sem1 ???</text>
|
||||
<text top="939" left="3" width="20" height="17" font="1">11</text>
|
||||
<text top="939" left="55" width="56" height="17" font="1">10 - 11</text>
|
||||
<text top="939" left="123" width="19" height="17" font="4"><i>Lk</i></text>
|
||||
<text top="939" left="178" width="29" height="17" font="4"><i>sp3</i></text>
|
||||
<text top="939" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="939" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="962" left="3" width="20" height="17" font="1">12</text>
|
||||
<text top="962" left="55" width="36" height="17" font="1">1 - 2</text>
|
||||
<text top="962" left="123" width="17" height="17" font="1">Ni</text>
|
||||
<text top="962" left="178" width="29" height="17" font="1">bk1</text>
|
||||
<text top="962" left="233" width="30" height="17" font="1">412</text>
|
||||
<text top="962" left="391" width="53" height="17" font="1">Raum!</text>
|
||||
<text top="984" left="3" width="20" height="17" font="1">12</text>
|
||||
<text top="984" left="55" width="10" height="17" font="1">5</text>
|
||||
<text top="984" left="123" width="22" height="17" font="4"><i>Ku</i></text>
|
||||
<text top="984" left="178" width="23" height="17" font="4"><i>D2</i></text>
|
||||
<text top="984" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="984" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="1007" left="3" width="88" height="17" font="1">1112 8 - 9</text>
|
||||
<text top="1007" left="123" width="21" height="17" font="4"><i>Fe</i></text>
|
||||
<text top="1007" left="178" width="34" height="17" font="4"><i>vma</i></text>
|
||||
<text top="1007" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="1007" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
</page>
|
||||
<page number="2" position="absolute" top="0" left="0" height="1262" width="893">
|
||||
<text top="10" left="3" width="297" height="19" font="0"><b>D-70563 FANNY-LEICHT-GYMN.</b></text>
|
||||
<text top="32" left="3" width="275" height="17" font="1">STUTTGART, F.-LEICHT-STR. 13</text>
|
||||
<text top="9" left="332" width="248" height="17" font="1">Schuljahr 2018/19 - 1. Halbjahr</text>
|
||||
<text top="32" left="332" width="236" height="17" font="1">gültig ab 10. September 2018</text>
|
||||
<text top="10" left="708" width="99" height="19" font="0"><b>Untis 2017</b></text>
|
||||
<text top="32" left="671" width="135" height="17" font="1">13.12.2018 8:11</text>
|
||||
<text top="64" left="3" width="413" height="25" font="2"><b>Klasse 14.12. / Freitag Woche-A</b></text>
|
||||
<text top="111" left="3" width="203" height="15" font="3">Ordnungsdienst: Klasse 10a</text>
|
||||
<text top="172" left="3" width="21" height="17" font="1">Kl.</text>
|
||||
<text top="172" left="55" width="235" height="17" font="1">Std. Vertr. Fach Rau nach</text>
|
||||
<text top="172" left="398" width="134" height="17" font="1">Vertretungs-Text</text>
|
||||
<text top="194" left="3" width="62" height="17" font="1">5abc 1</text>
|
||||
<text top="194" left="102" width="27" height="17" font="4"><i>We</i></text>
|
||||
<text top="194" left="157" width="25" height="17" font="4"><i>KR</i></text>
|
||||
<text top="194" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="194" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="215" left="3" width="20" height="17" font="1">5a</text>
|
||||
<text top="215" left="55" width="10" height="17" font="1">1</text>
|
||||
<text top="215" left="102" width="22" height="17" font="4"><i>Bü</i></text>
|
||||
<text top="215" left="157" width="34" height="17" font="4"><i>EvR</i></text>
|
||||
<text top="215" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="215" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="238" left="3" width="62" height="17" font="1">5abc 2</text>
|
||||
<text top="238" left="102" width="22" height="17" font="1">Jw</text>
|
||||
<text top="238" left="157" width="25" height="17" font="1">KR</text>
|
||||
<text top="238" left="209" width="30" height="17" font="1">123</text>
|
||||
<text top="238" left="398" width="119" height="17" font="1">We / Aufgaben</text>
|
||||
<text top="258" left="3" width="20" height="17" font="1">5a</text>
|
||||
<text top="258" left="55" width="10" height="17" font="1">2</text>
|
||||
<text top="258" left="102" width="23" height="17" font="1">Ng</text>
|
||||
<text top="258" left="157" width="34" height="17" font="1">EvR</text>
|
||||
<text top="258" left="209" width="30" height="17" font="1">321</text>
|
||||
<text top="258" left="398" width="114" height="17" font="1">Bü / Aufgaben</text>
|
||||
<text top="281" left="3" width="20" height="17" font="1">5d</text>
|
||||
<text top="281" left="55" width="10" height="17" font="1">3</text>
|
||||
<text top="281" left="102" width="20" height="17" font="1">Lo</text>
|
||||
<text top="281" left="157" width="13" height="17" font="1">D</text>
|
||||
<text top="281" left="209" width="30" height="17" font="1">122</text>
|
||||
<text top="281" left="398" width="171" height="17" font="1">anstatt 17.12., 1. Std.</text>
|
||||
<text top="304" left="3" width="20" height="17" font="1">5d</text>
|
||||
<text top="304" left="55" width="10" height="17" font="1">4</text>
|
||||
<text top="304" left="102" width="20" height="17" font="1">Lo</text>
|
||||
<text top="304" left="157" width="13" height="17" font="1">D</text>
|
||||
<text top="304" left="209" width="30" height="17" font="1">122</text>
|
||||
<text top="304" left="398" width="166" height="17" font="1">anstatt 19.12., 1 Std.</text>
|
||||
<text top="326" left="3" width="20" height="17" font="1">6a</text>
|
||||
<text top="326" left="55" width="10" height="17" font="1">6</text>
|
||||
<text top="326" left="102" width="23" height="17" font="4"><i>He</i></text>
|
||||
<text top="326" left="157" width="12" height="17" font="4"><i>E</i></text>
|
||||
<text top="326" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="326" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="349" left="3" width="62" height="17" font="1">6acd 7</text>
|
||||
<text top="349" left="102" width="16" height="17" font="4"><i>Ft</i></text>
|
||||
<text top="349" left="157" width="26" height="17" font="4"><i>MF</i></text>
|
||||
<text top="349" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="349" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="372" left="3" width="19" height="17" font="1">6c</text>
|
||||
<text top="372" left="55" width="10" height="17" font="1">1</text>
|
||||
<text top="371" left="102" width="22" height="17" font="4"><i>Ku</i></text>
|
||||
<text top="371" left="157" width="13" height="17" font="4"><i>D</i></text>
|
||||
<text top="372" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="372" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="394" left="3" width="19" height="17" font="1">6c</text>
|
||||
<text top="394" left="55" width="10" height="17" font="1">2</text>
|
||||
<text top="394" left="102" width="16" height="17" font="1">Sl</text>
|
||||
<text top="394" left="157" width="13" height="17" font="1">D</text>
|
||||
<text top="394" left="209" width="30" height="17" font="1">121</text>
|
||||
<text top="394" left="398" width="114" height="17" font="1">Ku / Aufgaben</text>
|
||||
<text top="417" left="3" width="20" height="17" font="1">7a</text>
|
||||
<text top="417" left="55" width="10" height="17" font="1">3</text>
|
||||
<text top="417" left="102" width="17" height="17" font="1">Di</text>
|
||||
<text top="417" left="157" width="13" height="17" font="1">D</text>
|
||||
<text top="417" left="209" width="30" height="17" font="1">323</text>
|
||||
<text top="417" left="398" width="48" height="17" font="1">Raum</text>
|
||||
<text top="440" left="3" width="20" height="17" font="1">7a</text>
|
||||
<text top="440" left="55" width="10" height="17" font="1">4</text>
|
||||
<text top="440" left="102" width="33" height="17" font="1">Hhn</text>
|
||||
<text top="440" left="157" width="15" height="17" font="1">M</text>
|
||||
<text top="440" left="209" width="30" height="17" font="1">323</text>
|
||||
<text top="462" left="3" width="20" height="17" font="1">7a</text>
|
||||
<text top="462" left="55" width="10" height="17" font="1">5</text>
|
||||
<text top="462" left="102" width="33" height="17" font="1">Hhn</text>
|
||||
<text top="462" left="157" width="15" height="17" font="1">M</text>
|
||||
<text top="462" left="209" width="30" height="17" font="1">323</text>
|
||||
<text top="485" left="3" width="20" height="17" font="1">7a</text>
|
||||
<text top="485" left="55" width="10" height="17" font="1">6</text>
|
||||
<text top="485" left="102" width="33" height="17" font="1">Hhn</text>
|
||||
<text top="485" left="157" width="15" height="17" font="1">M</text>
|
||||
<text top="485" left="209" width="30" height="17" font="1">323</text>
|
||||
<text top="485" left="398" width="88" height="17" font="1">findet statt!</text>
|
||||
<text top="508" left="3" width="20" height="17" font="1">7b</text>
|
||||
<text top="508" left="55" width="10" height="17" font="1">6</text>
|
||||
<text top="507" left="102" width="18" height="17" font="4"><i>Rt</i></text>
|
||||
<text top="507" left="157" width="13" height="17" font="4"><i>D</i></text>
|
||||
<text top="508" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="508" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="530" left="3" width="20" height="17" font="1">8a</text>
|
||||
<text top="530" left="55" width="10" height="17" font="1">1</text>
|
||||
<text top="530" left="102" width="16" height="17" font="4"><i>Ft</i></text>
|
||||
<text top="530" left="157" width="15" height="17" font="4"><i>M</i></text>
|
||||
<text top="530" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="530" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="553" left="3" width="20" height="17" font="1">8a</text>
|
||||
<text top="553" left="55" width="10" height="17" font="1">2</text>
|
||||
<text top="553" left="102" width="14" height="17" font="1">Li</text>
|
||||
<text top="553" left="157" width="12" height="17" font="1">E</text>
|
||||
<text top="553" left="209" width="30" height="17" font="1">323</text>
|
||||
<text top="553" left="398" width="89" height="17" font="1">statt 18.12.</text>
|
||||
<text top="576" left="3" width="19" height="17" font="1">9c</text>
|
||||
<text top="576" left="55" width="36" height="17" font="1">5 - 6</text>
|
||||
<text top="576" left="102" width="27" height="17" font="4"><i>Hei</i></text>
|
||||
<text top="576" left="157" width="13" height="17" font="4"><i>D</i></text>
|
||||
<text top="576" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="576" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="599" left="3" width="20" height="17" font="1">9d</text>
|
||||
<text top="599" left="55" width="75" height="17" font="1">1 - 2 Rm</text>
|
||||
<text top="599" left="157" width="82" height="17" font="1">NWT 412</text>
|
||||
<text top="599" left="398" width="48" height="17" font="1">Raum</text>
|
||||
<text top="621" left="3" width="20" height="17" font="1">9d</text>
|
||||
<text top="621" left="55" width="36" height="17" font="1">5 - 6</text>
|
||||
<text top="621" left="102" width="16" height="17" font="4"><i>Ft</i></text>
|
||||
<text top="621" left="157" width="15" height="17" font="4"><i>M</i></text>
|
||||
<text top="621" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="621" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="644" left="3" width="30" height="17" font="1">10a</text>
|
||||
<text top="644" left="55" width="80" height="17" font="1">3 - 4 Smr</text>
|
||||
<text top="644" left="157" width="12" height="17" font="1">E</text>
|
||||
<text top="644" left="209" width="30" height="17" font="1">413</text>
|
||||
<text top="644" left="398" width="175" height="17" font="1">Hörverstehensklausur</text>
|
||||
<text top="664" left="3" width="62" height="17" font="1">10ad 3</text>
|
||||
<text top="664" left="102" width="23" height="17" font="1">Ro</text>
|
||||
<text top="664" left="157" width="34" height="17" font="1">EvR</text>
|
||||
<text top="664" left="209" width="25" height="17" font="1">SH</text>
|
||||
<text top="664" left="398" width="48" height="17" font="1">Sport!</text>
|
||||
<text top="685" left="3" width="88" height="17" font="1">10ad 3 - 4</text>
|
||||
<text top="685" left="102" width="27" height="17" font="4"><i>We</i></text>
|
||||
<text top="685" left="157" width="25" height="17" font="4"><i>KR</i></text>
|
||||
<text top="685" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="685" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="708" left="3" width="62" height="17" font="1">10ad 4</text>
|
||||
<text top="708" left="102" width="19" height="17" font="1">Lk</text>
|
||||
<text top="708" left="157" width="34" height="17" font="1">EvR</text>
|
||||
<text top="708" left="209" width="25" height="17" font="1">SH</text>
|
||||
<text top="708" left="398" width="48" height="17" font="1">Sport!</text>
|
||||
<text top="730" left="3" width="30" height="17" font="1">10b</text>
|
||||
<text top="730" left="55" width="63" height="17" font="1">3 - 4 Ki</text>
|
||||
<text top="730" left="157" width="12" height="17" font="1">E</text>
|
||||
<text top="730" left="209" width="30" height="17" font="1">414</text>
|
||||
<text top="730" left="398" width="175" height="17" font="1">Hörverstehensklausur</text>
|
||||
<text top="751" left="3" width="30" height="17" font="1">10b</text>
|
||||
<text top="751" left="55" width="36" height="17" font="1">3 - 4</text>
|
||||
<text top="751" left="102" width="23" height="17" font="4"><i>He</i></text>
|
||||
<text top="751" left="157" width="23" height="17" font="4"><i>Gk</i></text>
|
||||
<text top="751" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="751" left="251" width="133" height="17" font="1">Entfall für Lehrer</text>
|
||||
<text top="774" left="3" width="88" height="17" font="1">10bc 5 - 6</text>
|
||||
<text top="773" left="102" width="27" height="17" font="4"><i>We</i></text>
|
||||
<text top="773" left="157" width="25" height="17" font="4"><i>KR</i></text>
|
||||
<text top="774" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="774" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="796" left="3" width="29" height="17" font="1">10c</text>
|
||||
<text top="796" left="55" width="36" height="17" font="1">3 - 4</text>
|
||||
<text top="796" left="102" width="33" height="17" font="4"><i>Ran</i></text>
|
||||
<text top="796" left="157" width="15" height="17" font="4"><i>M</i></text>
|
||||
<text top="796" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="796" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="796" left="398" width="86" height="17" font="1">alle bei Oe</text>
|
||||
<text top="817" left="3" width="29" height="17" font="1">10c</text>
|
||||
<text top="817" left="55" width="71" height="17" font="1">3 - 4 Oe</text>
|
||||
<text top="817" left="157" width="12" height="17" font="1">E</text>
|
||||
<text top="817" left="209" width="30" height="17" font="1">422</text>
|
||||
<text top="817" left="398" width="175" height="17" font="1">Hörverstehensklausur</text>
|
||||
<text top="839" left="3" width="30" height="17" font="1">10d</text>
|
||||
<text top="839" left="55" width="74" height="17" font="1">3 - 4 Wd</text>
|
||||
<text top="839" left="157" width="12" height="17" font="1">E</text>
|
||||
<text top="839" left="209" width="30" height="17" font="1">416</text>
|
||||
<text top="839" left="398" width="175" height="17" font="1">Hörverstehensklausur</text>
|
||||
<text top="862" left="3" width="20" height="17" font="1">11</text>
|
||||
<text top="862" left="55" width="64" height="17" font="1">3 - 4 At</text>
|
||||
<text top="862" left="157" width="23" height="17" font="1">D3</text>
|
||||
<text top="862" left="209" width="30" height="17" font="1">121</text>
|
||||
<text top="862" left="398" width="48" height="17" font="1">Raum</text>
|
||||
<text top="883" left="3" width="20" height="17" font="1">11</text>
|
||||
<text top="883" left="55" width="63" height="17" font="1">3 - 4 Sl</text>
|
||||
<text top="883" left="157" width="23" height="17" font="1">D2</text>
|
||||
<text top="883" left="209" width="30" height="17" font="1">415</text>
|
||||
<text top="883" left="398" width="48" height="17" font="1">Raum</text>
|
||||
<text top="905" left="3" width="20" height="17" font="1">12</text>
|
||||
<text top="905" left="55" width="67" height="17" font="1">1 - 2 Lo</text>
|
||||
<text top="905" left="157" width="32" height="17" font="1">Sp1</text>
|
||||
<text top="905" left="209" width="30" height="17" font="1">222</text>
|
||||
<text top="905" left="398" width="61" height="17" font="1">Theorie</text>
|
||||
<text top="928" left="3" width="20" height="17" font="1">12</text>
|
||||
<text top="928" left="55" width="67" height="17" font="1">3 - 4 Mf</text>
|
||||
<text top="928" left="157" width="22" height="17" font="1">E2</text>
|
||||
<text top="928" left="209" width="30" height="17" font="1">218</text>
|
||||
<text top="928" left="398" width="48" height="17" font="1">Raum</text>
|
||||
<text top="949" left="3" width="20" height="17" font="1">12</text>
|
||||
<text top="949" left="55" width="64" height="17" font="1">3 - 4 Sf</text>
|
||||
<text top="949" left="157" width="25" height="17" font="1">M3</text>
|
||||
<text top="949" left="209" width="30" height="17" font="1">322</text>
|
||||
<text top="949" left="398" width="48" height="17" font="1">Raum</text>
|
||||
<text top="969" left="3" width="20" height="17" font="1">12</text>
|
||||
<text top="969" left="55" width="36" height="17" font="1">3 - 4</text>
|
||||
<text top="969" left="102" width="16" height="17" font="4"><i>Ft</i></text>
|
||||
<text top="969" left="157" width="25" height="17" font="4"><i>M2</i></text>
|
||||
<text top="969" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="969" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="992" left="3" width="20" height="17" font="1">12</text>
|
||||
<text top="992" left="55" width="36" height="17" font="1">5 - 6</text>
|
||||
<text top="991" left="102" width="22" height="17" font="4"><i>Ku</i></text>
|
||||
<text top="991" left="157" width="29" height="17" font="4"><i>ek1</i></text>
|
||||
<text top="992" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="992" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
</page>
|
||||
</pdf2xml>
|
29
shared/shared.qrc
Normal file
|
@ -0,0 +1,29 @@
|
|||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file>favicon.png</file>
|
||||
<file>graphics/sheute.png</file>
|
||||
<file>graphics/smorgen.png</file>
|
||||
<file>graphics/chat_background.jpg</file>
|
||||
<file>graphics/icons/back.png</file>
|
||||
<file>graphics/icons/drawer.png</file>
|
||||
<file>graphics/icons/menu.png</file>
|
||||
<file>graphics/icons/hide.png</file>
|
||||
<file>graphics/icons/view.png</file>
|
||||
<file>samplehtml/Download File-html.html</file>
|
||||
<file>samplehtml/Download File.html</file>
|
||||
<file>samplehtml/Download File.pdf</file>
|
||||
<file>samplehtml/Download File.xml</file>
|
||||
<file>circle.png</file>
|
||||
<file>graphics/images/FannyLogoDark.jpg</file>
|
||||
<file>graphics/images/FannyLogoLight.png</file>
|
||||
<file>graphics/images/FannyLogoLightSmall.png</file>
|
||||
<file>graphics/images/TreffpunktFannyLogoDark.png</file>
|
||||
<file>graphics/images/TreffpunktFannyLogoLight.png</file>
|
||||
<file>graphics/icons/logoutBlack.png</file>
|
||||
<file>graphics/icons/logoutRed.png</file>
|
||||
<file>graphics/icons/settingsBlack.png</file>
|
||||
<file>graphics/icons/backDark.png</file>
|
||||
<file>samplehtml/Download File.txt</file>
|
||||
<file>graphics/icons/delete.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
|
@ -1,37 +0,0 @@
|
|||
#include "headers/appsettings.h"
|
||||
|
||||
AppSettings * pGlobalAppSettings = NULL;
|
||||
|
||||
AppSettings::AppSettings(QObject* parent)
|
||||
:QObject(parent)
|
||||
{
|
||||
QString path = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation);
|
||||
qDebug(path.toLatin1());
|
||||
this->settingsManager = new QSettings(path+"/fannyapp/settings.ini", QSettings::IniFormat);
|
||||
|
||||
qDebug("AppSettings konstruktor");
|
||||
if(loadSetting("init") == "false"){
|
||||
this->writeSetting("init", 0);
|
||||
}
|
||||
}
|
||||
|
||||
QString AppSettings::loadSetting(const QString &key)
|
||||
{
|
||||
this->settingsManager->beginGroup("AppSettings");
|
||||
QString value = this->settingsManager->value(key , false).toString();
|
||||
this->settingsManager->endGroup();
|
||||
return(value);
|
||||
}
|
||||
|
||||
void AppSettings::writeSetting(const QString &key, const QVariant &variant)
|
||||
{
|
||||
this->settingsManager->beginGroup("AppSettings");
|
||||
this->settingsManager->setValue(key , variant);
|
||||
this->settingsManager->endGroup();
|
||||
}
|
||||
|
||||
AppSettings::~AppSettings()
|
||||
{
|
||||
delete settingsManager;
|
||||
}
|
||||
|
|
@ -1,353 +0,0 @@
|
|||
#include "headers/serverconn.h"
|
||||
|
||||
|
||||
ServerConn::ServerConn(QObject *parent) : QObject(parent)
|
||||
{
|
||||
qDebug("serverconn konstruktor");
|
||||
this->networkManager = new QNetworkAccessManager();
|
||||
this->refreshNetworkManager = new QNetworkAccessManager();
|
||||
}
|
||||
|
||||
ServerConn::~ServerConn()
|
||||
{
|
||||
qDebug("serverconn destruktor");
|
||||
delete this->networkManager;
|
||||
delete this->refreshNetworkManager;
|
||||
|
||||
QString path = QStandardPaths::writableLocation(QStandardPaths::DownloadLocation);
|
||||
QDir dir(path + "/.fannyapp-tmp");
|
||||
dir.removeRecursively();
|
||||
}
|
||||
|
||||
|
||||
QString ServerConn::login(QString username, QString password, bool permanent)
|
||||
{
|
||||
// QUrlQuery pdata;
|
||||
// ReturnData_t ret = this->senddata(QUrl("http://www.fanny-leicht.de/static15/http.intern/sheute.pdf"), pdata);
|
||||
// qDebug() << ret.text;
|
||||
|
||||
// Create request
|
||||
QNetworkRequest request;
|
||||
request.setUrl( QUrl( "http://www.fanny-leicht.de/static15/http.intern/sheute.pdf" ) );
|
||||
|
||||
// Pack in credentials
|
||||
QString concatenatedCredentials = username + ":" + password;
|
||||
QByteArray data = concatenatedCredentials.toLocal8Bit().toBase64();
|
||||
QString headerData = "Basic " + data;
|
||||
request.setRawHeader( "Authorization", headerData.toLocal8Bit() );
|
||||
|
||||
QUrlQuery pdata;
|
||||
// Send request and connect all possible signals
|
||||
QNetworkReply*reply = this->networkManager->post(request, pdata.toString(QUrl::FullyEncoded).toUtf8());
|
||||
//QNetworkReply*reply = networkManager->get( request );
|
||||
|
||||
QEventLoop loop;
|
||||
loop.connect(this->networkManager, SIGNAL(finished(QNetworkReply*)), SLOT(quit()));
|
||||
loop.exec();
|
||||
int status_code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
|
||||
|
||||
if(status_code == 200){
|
||||
this->username = username;
|
||||
this->password = password;
|
||||
if(permanent){
|
||||
qDebug() << "permanent";
|
||||
pGlobalAppSettings->writeSetting("permanent", "1");
|
||||
pGlobalAppSettings->writeSetting("username", username);
|
||||
pGlobalAppSettings->writeSetting("password", password);
|
||||
}
|
||||
return("OK");
|
||||
}
|
||||
else if(status_code == 401){
|
||||
return("Ungültige Benutzerdaten.");
|
||||
}
|
||||
else if(status_code == 0){
|
||||
return("Keine Verbindung zum Server.");
|
||||
}
|
||||
else {
|
||||
QString ret = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toChar();
|
||||
ret = ret + reply->attribute(QNetworkRequest::HttpReasonPhraseAttribute).toChar();
|
||||
return(ret);
|
||||
}
|
||||
}
|
||||
|
||||
int ServerConn::logout()
|
||||
{
|
||||
this->username = "";
|
||||
this->password = "";
|
||||
pGlobalAppSettings->writeSetting("permanent", "0");
|
||||
pGlobalAppSettings->writeSetting("username", "");
|
||||
pGlobalAppSettings->writeSetting("password", "");
|
||||
return(200);
|
||||
}
|
||||
|
||||
QString ServerConn::getDay(QString day)
|
||||
{
|
||||
this->progress = 0;
|
||||
// Create request
|
||||
QNetworkRequest request;
|
||||
request.setUrl( QUrl( "http://www.fanny-leicht.de/static15/http.intern/" + day + ".pdf" ) );
|
||||
|
||||
// Pack in credentials
|
||||
// Pack in credentials
|
||||
QString concatenatedCredentials = this->username + ":" + this->password;
|
||||
QByteArray data = concatenatedCredentials.toLocal8Bit().toBase64();
|
||||
QString headerData = "Basic " + data;
|
||||
request.setRawHeader( "Authorization", headerData.toLocal8Bit() );
|
||||
|
||||
QUrlQuery pdata;
|
||||
// Send request and connect all possible signals
|
||||
QNetworkReply*reply = this->networkManager->post(request, pdata.toString(QUrl::FullyEncoded).toUtf8());
|
||||
//QNetworkReply*reply = networkManager->get( request );
|
||||
|
||||
connect(reply, SIGNAL(downloadProgress(qint64, qint64)),
|
||||
this, SLOT(updateProgress(qint64, qint64)));
|
||||
QEventLoop loop;
|
||||
loop.connect(this->networkManager, SIGNAL(finished(QNetworkReply*)), SLOT(quit()));
|
||||
loop.exec();
|
||||
|
||||
this->progress = 1;
|
||||
int status_code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
|
||||
if(status_code == 200){
|
||||
QString path = QStandardPaths::writableLocation(QStandardPaths::DownloadLocation);
|
||||
|
||||
QDir dir;
|
||||
dir.mkdir(path + "/.fannyapp-tmp");
|
||||
QFile file(path + "/.fannyapp-tmp/" + day + ".pdf");
|
||||
file.remove();
|
||||
|
||||
file.open(QIODevice::ReadWrite);
|
||||
file.write(reply->readAll());
|
||||
file.close();
|
||||
QDesktopServices::openUrl(QUrl::fromLocalFile(path + "/.fannyapp-tmp/" + day + ".pdf"));
|
||||
return("OK");
|
||||
}
|
||||
else if(status_code == 401){
|
||||
return("Ungültige Benutzerdaten.");
|
||||
}
|
||||
else if(status_code == 0){
|
||||
return("Keine Verbindung zum Server.");
|
||||
}
|
||||
else {
|
||||
QString ret = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toChar();
|
||||
ret = ret + " (" + reply->attribute(QNetworkRequest::HttpReasonPhraseAttribute).toChar() + ")";
|
||||
return(ret);
|
||||
}
|
||||
}
|
||||
|
||||
int ServerConn::checkConn()
|
||||
{
|
||||
// Create request
|
||||
QNetworkRequest request;
|
||||
request.setUrl( QUrl( "http://www.fanny-leicht.de/static15/http.intern/" ) );
|
||||
|
||||
// Pack in credentials
|
||||
// Pack in credentials
|
||||
//ZedlerDo:LxyJQB
|
||||
QString concatenatedCredentials = this->username + ":" + this->password;
|
||||
QByteArray data = concatenatedCredentials.toLocal8Bit().toBase64();
|
||||
QString headerData = "Basic " + data;
|
||||
request.setRawHeader( "Authorization", headerData.toLocal8Bit() );
|
||||
|
||||
QUrlQuery pdata;
|
||||
// Send request and connect all possible signals
|
||||
QNetworkReply*reply = this->refreshNetworkManager->post(request, pdata.toString(QUrl::FullyEncoded).toUtf8());
|
||||
//QNetworkReply*reply = networkManager->get( request );
|
||||
|
||||
QEventLoop loop;
|
||||
loop.connect(this->refreshNetworkManager, SIGNAL(finished(QNetworkReply*)), SLOT(quit()));
|
||||
loop.exec();
|
||||
|
||||
int status_code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
|
||||
return(status_code);
|
||||
|
||||
}
|
||||
|
||||
void ServerConn::updateProgress(qint64 read, qint64 total)
|
||||
{
|
||||
int read_int = read;
|
||||
int total_int = total;
|
||||
float percent = ((float)read_int / (float)total_int);
|
||||
this->progress = percent;
|
||||
percent = (int)percent;
|
||||
|
||||
// qDebug() << read << total << percent << "%";
|
||||
}
|
||||
|
||||
float ServerConn::getProgress()
|
||||
{
|
||||
return(this->progress);
|
||||
}
|
||||
|
||||
int ServerConn::getFoodPlan()
|
||||
{
|
||||
this->progress = 0;
|
||||
ReturnData_t ret; //this is a custom type to store the returned data
|
||||
// Call the webservice
|
||||
|
||||
QNetworkRequest request(QUrl("http://www.treffpunkt-fanny.de/fuer-schueler-und-lehrer/speiseplan.html"));
|
||||
request.setHeader(QNetworkRequest::ContentTypeHeader,
|
||||
"application/x-www-form-urlencoded");
|
||||
|
||||
//set ssl configuration
|
||||
//send a POST request with the given url and data to the server
|
||||
QNetworkReply* reply;
|
||||
|
||||
QUrlQuery pdata;
|
||||
reply = this->networkManager->post(request, pdata.toString(QUrl::FullyEncoded).toUtf8());
|
||||
|
||||
connect(reply, SIGNAL(downloadProgress(qint64, qint64)),
|
||||
this, SLOT(updateProgress(qint64, qint64)));
|
||||
//wait until the request has finished
|
||||
QEventLoop loop;
|
||||
loop.connect(this->networkManager, SIGNAL(finished(QNetworkReply*)), SLOT(quit()));
|
||||
loop.exec();
|
||||
|
||||
//get the status code
|
||||
QVariant status_code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);
|
||||
this->progress = 1;
|
||||
if(status_code != 200){
|
||||
return(status_code.toInt());
|
||||
}
|
||||
|
||||
//initialize the weekplan to store information to it
|
||||
//m_weekplan.empty(); //empty the weekplan
|
||||
QList<QList<QString>> temp_weekplan;
|
||||
|
||||
//m_weekplan is a list, that contains a list for each day, which contains: cookteam, date, main dish, vagi main dish, garnish(Beilage) and Dessert.
|
||||
|
||||
ret.text = QString::fromUtf8(reply->readAll()); //read the whole website
|
||||
ret.text.replace("\n",""); //remove unnecessary stuff
|
||||
ret.text.replace("\r","");
|
||||
ret.text.replace("\t","");
|
||||
|
||||
QStringList stringlist_0 = ret.text.split( "<table class=\"speiseplan\">" ); //split the
|
||||
|
||||
//prepare the table of the first week
|
||||
QString table1 = stringlist_0[1];
|
||||
|
||||
QStringList stringlist_1 = table1.split( "</table>" ); //remove everything after "</table>"
|
||||
table1 = stringlist_1[0];
|
||||
table1.remove(0,71); //remove "<tbody><tr style=\"border: 1px solid #999;\" align=\"center\" valign=\"top\">" at the beginning
|
||||
table1 = table1.left(table1.length() - 13); //remove "</tr></tbody>" at the end
|
||||
|
||||
QStringList table1list = table1.split("<td style=\"width: 25%;\">"); //split at the days to get a list of all days
|
||||
table1list.takeFirst(); //remove the first item, as it is empty
|
||||
|
||||
//prepare the table of the second week
|
||||
QString table2 = stringlist_0[2];
|
||||
QStringList stringlist_2 = table2.split( "</table>" ); //remove everything after "</table>"
|
||||
table2 = stringlist_2[0];
|
||||
table2.remove(0,39); //remove "<tbody><tr align=\"center\" valign=\"top\">" at the beginning
|
||||
table2.remove(table2.length() - 13, table2.length()); //remove "</tr></tbody>" at the end
|
||||
QStringList table2list = table2.split("<td style=\"width: 25%;\">"); //split at the days to get a list of all days
|
||||
table2list.takeFirst(); //remove the first item, as it is empty
|
||||
|
||||
|
||||
QStringList weeklist = table1list + table2list; //put both weeks into one big list
|
||||
|
||||
for (int i = 0; i <=7; i ++){
|
||||
QString temp = weeklist[i]; //store item temporarly to edit it
|
||||
weeklist[i] = temp.left(temp.length()-5); //remove "</td>" at the and of the Item
|
||||
temp = weeklist[i];
|
||||
//table list[i] looks now like:
|
||||
//<strong>Red Hot Chili Peppers</strong>
|
||||
//<br />
|
||||
//<strong>26.06.2018</strong>
|
||||
//<hr />Gulasch mit Kartoffeln
|
||||
//<hr />Pellkartoffeln mit Quark
|
||||
//<hr />Gemischter Salat
|
||||
//<hr />Eaton Mess ( Erdbeer-Nachtisch )</td>
|
||||
|
||||
QStringList templist = temp.split("<strong>"); //split item at strong, to get the cookteam and the date
|
||||
//qDebug() << templist << "\n";
|
||||
temp = "";
|
||||
for (int i = 0; i <=2; i ++){
|
||||
temp += templist[i]; //convert the list to a big string
|
||||
}
|
||||
|
||||
temp.replace("<br />","");
|
||||
templist = temp.split("</strong>");
|
||||
temp_weekplan.append({templist[0], templist[1]}); //store cookteam and date
|
||||
temp = templist[2]; //store information in temp (looks like: "<hr />Gulasch mit Kartoffeln<hr />Pellkartoffeln mit Quark<hr />Gemischter Salat<hr />Eaton Mess ( Erdbeer-Nachtisch )")
|
||||
templist = temp.split("<hr />"); //seperate the information
|
||||
templist.takeFirst(); //remove first item
|
||||
|
||||
temp_weekplan[i].append(templist);
|
||||
|
||||
|
||||
}
|
||||
|
||||
//qDebug() << temp_weekplan;
|
||||
this->m_weekplan = temp_weekplan; //write changes to global foodplan
|
||||
|
||||
|
||||
return(200);
|
||||
}
|
||||
|
||||
QVariantMap ServerConn::getFoodPlanData(int index)
|
||||
{
|
||||
//cookteam, date, main dish, vagi main dish, garnish(Beilage) and Dessert.
|
||||
|
||||
QStringList ret; //list to return
|
||||
//qDebug() << index;
|
||||
for(int i=0;i<=5;i++){
|
||||
|
||||
if(m_weekplan.size() > index){
|
||||
//qDebug() << i << m_weekplan[index].size();
|
||||
if(m_weekplan[index].size() > i){
|
||||
ret.append(m_weekplan[index][i]);
|
||||
//qDebug() << i << m_weekplan[index][i];
|
||||
}
|
||||
else {
|
||||
ret.append(NULL);
|
||||
}
|
||||
}
|
||||
else {
|
||||
ret.append(NULL);
|
||||
}
|
||||
}
|
||||
QString date_string_on_db = ret[1];
|
||||
QDate Date = QDate::fromString(date_string_on_db," dd.MM.yyyy");
|
||||
//date_string_on_db
|
||||
//qDebug() << Date;
|
||||
return { {"cookteam", ret[0]}, {"date", Date}, {"main_dish", ret[2]}, {"main_dish_veg", ret[3]}, {"garnish", ret[4]}, {"dessert", ret[5]} };
|
||||
|
||||
}
|
||||
|
||||
ReturnData_t ServerConn::senddata(QUrl serviceUrl, QUrlQuery pdata)
|
||||
{
|
||||
|
||||
ReturnData_t ret; //this is a custom type to store the returned data
|
||||
// Call the webservice
|
||||
|
||||
QNetworkRequest request(serviceUrl);
|
||||
QAuthenticator authenticator;
|
||||
authenticator.setUser("ZedlerDo");
|
||||
authenticator.setPassword("LxyJQB");
|
||||
request.setHeader(QNetworkRequest::ContentTypeHeader,
|
||||
"application/x-www-form-urlencoded");
|
||||
|
||||
//set ssl configuration
|
||||
//send a POST request with the given url and data to the server
|
||||
QNetworkReply* reply;
|
||||
|
||||
reply = this->networkManager->post(request, pdata.toString(QUrl::FullyEncoded).toUtf8());
|
||||
|
||||
//wait until the request has finished
|
||||
QEventLoop loop;
|
||||
loop.connect(this->networkManager, SIGNAL(finished(QNetworkReply*)), SLOT(quit()));
|
||||
loop.exec();
|
||||
|
||||
//get the status code
|
||||
QVariant status_code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);
|
||||
|
||||
ret.status_code = status_code.toInt();
|
||||
if(ret.status_code == 0){ //if tehstatus code is zero, the connecion to the server was not possible
|
||||
ret.status_code = 444;
|
||||
}
|
||||
//get the full text response
|
||||
ret.text = QString::fromUtf8(reply->readAll());
|
||||
|
||||
//return the data
|
||||
return(ret);
|
||||
}
|
150
sources/appsettings.cpp
Normal file
|
@ -0,0 +1,150 @@
|
|||
#include "headers/appsettings.h"
|
||||
|
||||
AppSettings * pGlobalAppSettings = nullptr;
|
||||
|
||||
AppSettings::AppSettings(QObject* parent)
|
||||
:QObject(parent)
|
||||
{
|
||||
qDebug("+----- AppSettings konstruktor -----");
|
||||
|
||||
pGlobalAppSettings = this;
|
||||
|
||||
QString path = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation);
|
||||
qDebug() << "+----- Settings Path:" << path;
|
||||
|
||||
this->settingsManager = new QSettings(path+"/fannyapp/settings.ini", QSettings::IniFormat);
|
||||
|
||||
if(loadSetting("init") == "false"){
|
||||
this->writeSetting("init", 0);
|
||||
}
|
||||
if(loadSetting("grade") == "false"){
|
||||
this->writeSetting("grade", 5);
|
||||
}
|
||||
|
||||
this->filtersFile = new QFile(path + "/fannyapp/filters.json");
|
||||
|
||||
//QList<QStringList> filters = {{"5", "d"}, {"6", "c"}, {"11", ""}};
|
||||
|
||||
//writeFilters(filters);
|
||||
//qDebug() << readFilters();
|
||||
}
|
||||
|
||||
QString AppSettings::loadSetting(const QString &key)
|
||||
{
|
||||
this->settingsManager->beginGroup("AppSettings");
|
||||
QString value = this->settingsManager->value(key , false).toString();
|
||||
this->settingsManager->endGroup();
|
||||
return(value);
|
||||
}
|
||||
|
||||
void AppSettings::writeSetting(const QString &key, const QVariant &variant)
|
||||
{
|
||||
this->settingsManager->beginGroup("AppSettings");
|
||||
this->settingsManager->setValue(key , variant);
|
||||
this->settingsManager->endGroup();
|
||||
}
|
||||
|
||||
QList<QStringList> AppSettings::readFilters() {
|
||||
|
||||
// list to be returned
|
||||
QList<QStringList> filtersList;
|
||||
|
||||
this->filtersFile->open(QFile::ReadOnly | QFile::Text);
|
||||
|
||||
QString jsonString = this->filtersFile->readAll();
|
||||
|
||||
this->filtersFile->close();
|
||||
|
||||
//qDebug() << jsonString;
|
||||
QJsonDocument jsonFilters = QJsonDocument::fromJson(jsonString.toUtf8());
|
||||
// array with all filters in it
|
||||
QJsonArray filtersArray = jsonFilters.array();
|
||||
foreach(const QJsonValue & value, filtersArray){
|
||||
// array of a single filter
|
||||
QJsonArray filterArray = value.toArray();
|
||||
|
||||
QStringList tmpFilterList;
|
||||
|
||||
// extract values from array
|
||||
foreach(const QJsonValue & key, filterArray){
|
||||
tmpFilterList.append(key.toString());
|
||||
}
|
||||
|
||||
while (tmpFilterList.length() < 3) {
|
||||
tmpFilterList.append("");
|
||||
}
|
||||
|
||||
filtersList.append(tmpFilterList);
|
||||
}
|
||||
|
||||
for(int i = 0; i < filtersList.length(); i++){
|
||||
QStringList filterList = filtersList[i];
|
||||
if( filterList[2] == "" ){
|
||||
filtersList.removeAt(i);
|
||||
i = i-1;
|
||||
}
|
||||
}
|
||||
|
||||
return(filtersList);
|
||||
}
|
||||
|
||||
void AppSettings::writeFilters(QList<QStringList> list) {
|
||||
|
||||
// string to write to file
|
||||
QString jsonString;
|
||||
QJsonArray filtersArray;
|
||||
|
||||
for(int i = 0; i < list.length(); i++){
|
||||
QStringList filterList = list[i];
|
||||
if( filterList[2] == "" ){
|
||||
list.removeAt(i);
|
||||
i = i-1;
|
||||
}
|
||||
}
|
||||
|
||||
foreach(QStringList filter, list){
|
||||
QJsonArray filterArray;
|
||||
|
||||
while (filter.length() < 3) {
|
||||
filter.append("");
|
||||
}
|
||||
|
||||
filterArray.append(filter[0]);
|
||||
filterArray.append(filter[1]);
|
||||
filterArray.append(filter[2]);
|
||||
|
||||
filtersArray.append(filterArray);
|
||||
}
|
||||
|
||||
QJsonDocument filtersDoc(filtersArray);
|
||||
//qDebug() << filtersDoc.toJson();
|
||||
|
||||
this->filtersFile->open(QIODevice::ReadWrite);
|
||||
|
||||
this->filtersFile->resize(0);
|
||||
|
||||
this->filtersFile->write(filtersDoc.toJson());
|
||||
|
||||
this->filtersFile->close();
|
||||
}
|
||||
|
||||
QStringList AppSettings::readFiltersQml() {
|
||||
|
||||
QStringList filtersList;
|
||||
|
||||
foreach(QStringList filterList, this->readFilters()){
|
||||
filtersList.append(filterList[0]+"|"+filterList[1]);
|
||||
}
|
||||
|
||||
return(filtersList);
|
||||
}
|
||||
|
||||
void AppSettings::writeFiltersQml(QStringList) {
|
||||
|
||||
}
|
||||
|
||||
AppSettings::~AppSettings()
|
||||
{
|
||||
delete settingsManager;
|
||||
}
|
||||
|
66
sources/eventmodel.cpp
Normal file
|
@ -0,0 +1,66 @@
|
|||
#include "headers/eventmodel.h"
|
||||
|
||||
EventModel::EventModel(QObject *parent) : QAbstractListModel(parent)
|
||||
{
|
||||
// event constructor
|
||||
// is called when the EventView is loaded
|
||||
|
||||
// list
|
||||
m_events.clear();
|
||||
|
||||
// convert the stringlist from the serverconn to a Day-list
|
||||
foreach(QList<QString>day, pGlobalServConn->m_events){
|
||||
m_events.append({day[0], day[1], day[2], day[3], day[4], day[5], day[6]});
|
||||
}
|
||||
}
|
||||
|
||||
int EventModel::rowCount(const QModelIndex &) const
|
||||
{
|
||||
return m_events.count();
|
||||
}
|
||||
|
||||
QVariant EventModel::data(const QModelIndex &index, int role) const
|
||||
{
|
||||
if (index.row() < rowCount())
|
||||
switch (role) {
|
||||
case GradeRole: return m_events.at(index.row()).grade;
|
||||
case HourRole: return m_events.at(index.row()).hour;
|
||||
case ReplaceRole: return m_events.at(index.row()).replace;
|
||||
case SubjectRole: return m_events.at(index.row()).subject;
|
||||
case RoomRole: return m_events.at(index.row()).room;
|
||||
case ToRole: return m_events.at(index.row()).to;
|
||||
case TextRole: return m_events.at(index.row()).text;
|
||||
default: return QVariant();
|
||||
}
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
QHash<int, QByteArray> EventModel::roleNames() const
|
||||
{
|
||||
static const QHash<int, QByteArray> roles {
|
||||
{ GradeRole, "grade" },
|
||||
{ HourRole, "hour" },
|
||||
{ ReplaceRole, "replace" },
|
||||
{ SubjectRole, "subject" },
|
||||
{ RoomRole, "room" },
|
||||
{ ToRole, "to" },
|
||||
{ TextRole, "text" }
|
||||
};
|
||||
return roles;
|
||||
}
|
||||
|
||||
QVariantMap EventModel::get(int row) const
|
||||
{
|
||||
const Day foodPlan = m_events.value(row);
|
||||
return { {"grade", foodPlan.grade}, {"hour", foodPlan.hour}, {"replace", foodPlan.replace}, {"subject", foodPlan.subject}, {"room", foodPlan.room}, {"to", foodPlan.to}, {"text", foodPlan.text} };
|
||||
}
|
||||
|
||||
QStringList EventModel::getHeader()
|
||||
{
|
||||
return(pGlobalServConn->m_eventHeader);
|
||||
}
|
||||
|
||||
EventModel::~EventModel()
|
||||
{
|
||||
|
||||
}
|
97
sources/filtermodel.cpp
Normal file
|
@ -0,0 +1,97 @@
|
|||
#include "headers/filtermodel.h"
|
||||
|
||||
FilterModel::FilterModel(QObject *parent ) : QAbstractListModel(parent)
|
||||
{
|
||||
m_filters.clear();
|
||||
|
||||
QList<QStringList> filtersList = pGlobalAppSettings->readFilters();
|
||||
|
||||
foreach(QStringList filterList, filtersList){
|
||||
m_filters.append({filterList[0], filterList[1], filterList[2]});
|
||||
}
|
||||
}
|
||||
|
||||
int FilterModel::rowCount(const QModelIndex &) const
|
||||
{
|
||||
return m_filters.count();
|
||||
}
|
||||
|
||||
QVariant FilterModel::data(const QModelIndex &index, int role) const
|
||||
{
|
||||
if (index.row() < rowCount())
|
||||
switch (role) {
|
||||
case GradeRole: return m_filters.at(index.row()).grade;
|
||||
case ClassLetterRole: return m_filters.at(index.row()).classLetter;
|
||||
case RoleRole: return m_filters.at(index.row()).role;
|
||||
default: return QVariant();
|
||||
}
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
QHash<int, QByteArray> FilterModel::roleNames() const
|
||||
{
|
||||
static const QHash<int, QByteArray> roles {
|
||||
{ GradeRole, "grade" },
|
||||
{ ClassLetterRole, "classLetter" },
|
||||
{ RoleRole, "role"}
|
||||
};
|
||||
return roles;
|
||||
}
|
||||
|
||||
QVariantMap FilterModel::get(int row) const
|
||||
{
|
||||
const Filter filter = m_filters.value(row);
|
||||
return { {"grade", filter.grade}, {"classLetter", filter.classLetter}, {"role", filter.role} };
|
||||
}
|
||||
|
||||
void FilterModel::append(const QString &grade, const QString &classLetter, const QString &role)
|
||||
{
|
||||
|
||||
foreach(Filter filter, this->m_filters){
|
||||
if(filter.grade == grade && filter.classLetter == classLetter){
|
||||
// dublicates aren't allowed
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
int row = 0;
|
||||
while (row < m_filters.count() && grade.toInt() > m_filters.at(row).grade.toInt()){
|
||||
row++;
|
||||
}
|
||||
|
||||
while (row < m_filters.count() && classLetter > m_filters.at(row).classLetter && grade.toInt() == m_filters.at(row).grade.toInt()) {
|
||||
row++;
|
||||
}
|
||||
beginInsertRows(QModelIndex(), row, row);
|
||||
m_filters.insert(row, {grade, classLetter, role});
|
||||
endInsertRows();
|
||||
|
||||
QList<QStringList> filtersList;
|
||||
filtersList.clear();
|
||||
|
||||
foreach(Filter filter, this->m_filters){
|
||||
filtersList.append({filter.grade, filter.classLetter, filter.role});
|
||||
}
|
||||
|
||||
pGlobalAppSettings->writeFilters(filtersList);
|
||||
|
||||
}
|
||||
|
||||
void FilterModel::remove(int row)
|
||||
{
|
||||
if (row < 0 || row >= m_filters.count())
|
||||
return;
|
||||
|
||||
beginRemoveRows(QModelIndex(), row, row);
|
||||
m_filters.removeAt(row);
|
||||
endRemoveRows();
|
||||
|
||||
QList<QStringList> filtersList;
|
||||
filtersList.clear();
|
||||
|
||||
foreach(Filter filter, this->m_filters){
|
||||
filtersList.append({filter.grade, filter.classLetter, filter.role});
|
||||
}
|
||||
|
||||
pGlobalAppSettings->writeFilters(filtersList);
|
||||
}
|
59
sources/foodplanmodel.cpp
Normal file
|
@ -0,0 +1,59 @@
|
|||
#include "headers/foodplanmodel.h"
|
||||
|
||||
FoodPlanModel::FoodPlanModel(QObject *parent) : QAbstractListModel(parent)
|
||||
{
|
||||
// foodplan constructor
|
||||
// is called when the FoodplanView is loaded
|
||||
|
||||
// list
|
||||
m_foodPlan.clear();
|
||||
|
||||
// convert the stringlist from the serverconn to a Dish-list
|
||||
foreach(QList<QString>day, pGlobalServConn->m_weekplan){
|
||||
m_foodPlan.append({day[0], day[1], day[2], day[3], day[4], day[5]});
|
||||
}
|
||||
}
|
||||
|
||||
int FoodPlanModel::rowCount(const QModelIndex &) const
|
||||
{
|
||||
return m_foodPlan.count();
|
||||
}
|
||||
|
||||
QVariant FoodPlanModel::data(const QModelIndex &index, int role) const
|
||||
{
|
||||
if (index.row() < rowCount())
|
||||
switch (role) {
|
||||
case CookteamRole: return m_foodPlan.at(index.row()).cookteam;
|
||||
case DateRole: return m_foodPlan.at(index.row()).date;
|
||||
case MainDishRole: return m_foodPlan.at(index.row()).mainDish;
|
||||
case MainDishVegRole: return m_foodPlan.at(index.row()).mainDishVeg;
|
||||
case GarnishRole: return m_foodPlan.at(index.row()).garnish;
|
||||
case DessertRole: return m_foodPlan.at(index.row()).dessert;
|
||||
default: return QVariant();
|
||||
}
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
QHash<int, QByteArray> FoodPlanModel::roleNames() const
|
||||
{
|
||||
static const QHash<int, QByteArray> roles {
|
||||
{ CookteamRole, "cookteam" },
|
||||
{ DateRole, "date" },
|
||||
{ MainDishRole, "mainDish" },
|
||||
{ MainDishVegRole, "mainDishVeg" },
|
||||
{ GarnishRole, "garnish" },
|
||||
{ DessertRole, "dessert" }
|
||||
};
|
||||
return roles;
|
||||
}
|
||||
|
||||
QVariantMap FoodPlanModel::get(int row) const
|
||||
{
|
||||
const Dish foodPlan = m_foodPlan.value(row);
|
||||
return { {"cookteam", foodPlan.cookteam}, {"date", foodPlan.date}, {"mainDish", foodPlan.mainDish}, {"mainDishVeg", foodPlan.mainDishVeg}, {"garnish", foodPlan.garnish}, {"dessert", foodPlan.dessert} };
|
||||
}
|
||||
|
||||
FoodPlanModel::~FoodPlanModel(){
|
||||
|
||||
}
|
||||
|
|
@ -1,13 +1,5 @@
|
|||
#include <QtWebView/QtWebView>
|
||||
#include <QMessageBox>
|
||||
|
||||
#include <QGuiApplication>
|
||||
#include <QQmlApplicationEngine>
|
||||
#include <QGuiApplication>
|
||||
#include <QQuickView>
|
||||
#include <QQuickStyle>
|
||||
#include <QStandardPaths>
|
||||
#include <QtQml>
|
||||
#include <QtNetwork>
|
||||
#include <QQmlApplicationEngine>
|
||||
#include <QFile>
|
||||
|
@ -21,36 +13,40 @@
|
|||
#include <QScreen>
|
||||
#include <QQmlApplicationEngine>
|
||||
#include <QtQml/QQmlContext>
|
||||
#include <QtWebView/QtWebView>
|
||||
|
||||
#include "headers/serverconn.h"
|
||||
#include "headers/appsettings.h"
|
||||
#include "headers/foodplanmodel.h"
|
||||
#include "headers/eventmodel.h"
|
||||
#include "headers/filtermodel.h"
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
ServerConn * pServerConn = new ServerConn;
|
||||
AppSettings * pAppSettings = new AppSettings();
|
||||
pGlobalAppSettings = pAppSettings;
|
||||
|
||||
// ServerConn * pServerConn = new ServerConn();
|
||||
|
||||
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
|
||||
|
||||
|
||||
QGuiApplication app(argc, argv);
|
||||
QtWebView::initialize();
|
||||
|
||||
qmlRegisterType<FoodPlanModel>("Backend", 1, 0, "FoodPlanModel");
|
||||
qmlRegisterType<EventModel>("Backend", 1, 0, "EventModel");
|
||||
qmlRegisterType<FilterModel>("Backend", 1, 0, "FilterModel");
|
||||
qmlRegisterType<ServerConn>("Backend", 1, 0, "ServerConn");
|
||||
|
||||
QQuickStyle::setStyle("Material");
|
||||
QQmlApplicationEngine engine;
|
||||
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
|
||||
QQmlContext *context = engine.rootContext();
|
||||
|
||||
// context->setContextProperty("_cppServerConn", pServerConn);
|
||||
context->setContextProperty("_cppAppSettings", pAppSettings);
|
||||
if (engine.rootObjects().isEmpty())
|
||||
return -1;
|
||||
engine.rootContext()->setContextProperty("_cppServerConn", pServerConn);
|
||||
engine.rootContext()->setContextProperty("_cppAppSettings", pAppSettings);
|
||||
|
||||
int ret;
|
||||
ret = app.exec();
|
||||
|
||||
delete pServerConn;
|
||||
// delete pServerConn;
|
||||
delete pAppSettings;
|
||||
return(ret);
|
||||
}
|
912
sources/serverconn.cpp
Normal file
|
@ -0,0 +1,912 @@
|
|||
#include "headers/serverconn.h"
|
||||
|
||||
ServerConn * pGlobalServConn = nullptr;
|
||||
|
||||
ServerConn::ServerConn(QObject *parent) : QObject(parent)
|
||||
{
|
||||
qDebug("+----- serverconn konstruktor -----+");
|
||||
pGlobalServConn = this;
|
||||
this->networkManager = new QNetworkAccessManager();
|
||||
this->refreshNetworkManager = new QNetworkAccessManager();
|
||||
|
||||
// check login state
|
||||
int perm = pGlobalAppSettings->loadSetting("permanent").toInt();
|
||||
qDebug() << "+-- login state: " << perm;
|
||||
|
||||
if(perm == 1){
|
||||
// permanent login
|
||||
// restore login
|
||||
this->username = pGlobalAppSettings->loadSetting("username");
|
||||
this->password = pGlobalAppSettings->loadSetting("password");
|
||||
|
||||
this->setState("loggedIn");
|
||||
}
|
||||
else {
|
||||
this->setState("notLoggedIn");
|
||||
}
|
||||
|
||||
this->checkConnTimer = new QTimer();
|
||||
this->checkConnTimer->setInterval(1000);
|
||||
this->checkConnTimer->setSingleShot(true);
|
||||
connect(checkConnTimer, SIGNAL(timeout()), this, SLOT(checkConn()));
|
||||
this->checkConnTimer->start();
|
||||
|
||||
}
|
||||
|
||||
int ServerConn::login(QString username, QString password, bool permanent)
|
||||
{
|
||||
// QUrlQuery pdata;
|
||||
// ReturnData_t ret = this->senddata(QUrl("http://www.fanny-leicht.de/static15/http.intern/sheute.pdf"), pdata);
|
||||
// qDebug() << ret.text;
|
||||
|
||||
// Create network request
|
||||
QNetworkRequest request;
|
||||
// call a non-existent file to be fast
|
||||
request.setUrl( QUrl( "http://www.fanny-leicht.de/static15/http.intern/logintest" ) );
|
||||
|
||||
// pack the credentials into a string
|
||||
QString credentialsString = username + ":" + password;
|
||||
// convert it to a byte array
|
||||
QByteArray data = credentialsString.toLocal8Bit().toBase64();
|
||||
// put it into a string
|
||||
QString headerData = "Basic " + data;
|
||||
// and finally write it into the request header
|
||||
request.setRawHeader( "Authorization", headerData.toLocal8Bit() );
|
||||
|
||||
// Send GET request to fanny server
|
||||
QNetworkReply*reply = networkManager->get( request );
|
||||
|
||||
// loop to wait until the request has finished before processing the data
|
||||
QEventLoop loop;
|
||||
// timer to cancel the request after 3 seconds
|
||||
QTimer timer;
|
||||
timer.setSingleShot(true);
|
||||
|
||||
// quit the loop when the request finised
|
||||
loop.connect(this->networkManager, SIGNAL(finished(QNetworkReply*)), SLOT(quit()));
|
||||
// or the timer timed out
|
||||
loop.connect(&timer, SIGNAL(timeout()), &loop, SLOT(quit()));
|
||||
// start the timer
|
||||
timer.start(2000);
|
||||
// start the loop
|
||||
loop.exec();
|
||||
|
||||
// get the status code from the request
|
||||
int status_code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
|
||||
|
||||
// 404 is a success because a non existent file was called and not 401 was returned -> user data was correct
|
||||
if(status_code == 404){
|
||||
// store username and password in the class variables
|
||||
this->username = username;
|
||||
this->password = password;
|
||||
|
||||
if(permanent){
|
||||
// if the user wants to say logged in, store the username and password to the settings file
|
||||
pGlobalAppSettings->writeSetting("permanent", "1");
|
||||
pGlobalAppSettings->writeSetting("username", username);
|
||||
pGlobalAppSettings->writeSetting("password", password);
|
||||
}
|
||||
|
||||
this->setState("loggedIn");
|
||||
|
||||
// return success
|
||||
return(200);
|
||||
}
|
||||
else {
|
||||
// if not 404 was returned -> error -> return the return code
|
||||
this->setState("notLoggedIn");
|
||||
return(status_code);
|
||||
}
|
||||
}
|
||||
|
||||
int ServerConn::logout()
|
||||
{
|
||||
// reset the data stored in the class
|
||||
this->username = "";
|
||||
this->password = "";
|
||||
// reset the data stored in the settings
|
||||
pGlobalAppSettings->writeSetting("permanent", "0");
|
||||
pGlobalAppSettings->writeSetting("username", "");
|
||||
pGlobalAppSettings->writeSetting("password", "");
|
||||
|
||||
this->setState("notLoggedIn");
|
||||
// return success
|
||||
return(200);
|
||||
}
|
||||
|
||||
QString ServerConn::getDay(QString day)
|
||||
{
|
||||
this->progress = 0;
|
||||
// Create request
|
||||
QNetworkRequest request;
|
||||
request.setUrl( QUrl( "http://www.fanny-leicht.de/static15/http.intern/" + day + ".pdf" ) );
|
||||
|
||||
// Pack in credentials
|
||||
QString concatenatedCredentials = this->username + ":" + this->password;
|
||||
QByteArray data = concatenatedCredentials.toLocal8Bit().toBase64();
|
||||
QString headerData = "Basic " + data;
|
||||
request.setRawHeader( "Authorization", headerData.toLocal8Bit() );
|
||||
|
||||
QUrlQuery pdata;
|
||||
// Send request and connect all possible signals
|
||||
QNetworkReply*reply = this->networkManager->post(request, pdata.toString(QUrl::FullyEncoded).toUtf8());
|
||||
//QNetworkReply*reply = networkManager->get( request );
|
||||
|
||||
connect(reply, SIGNAL(downloadProgress(qint64, qint64)),
|
||||
this, SLOT(updateProgress(qint64, qint64)));
|
||||
QEventLoop loop;
|
||||
loop.connect(this->networkManager, SIGNAL(finished(QNetworkReply*)), SLOT(quit()));
|
||||
loop.exec();
|
||||
|
||||
this->progress = 1;
|
||||
int status_code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
|
||||
if(status_code == 200){
|
||||
QString path = QStandardPaths::writableLocation(QStandardPaths::DownloadLocation);
|
||||
|
||||
QDir dir;
|
||||
dir.mkdir(path + "/.fannyapp-tmp");
|
||||
QFile file(path + "/.fannyapp-tmp/" + day + ".pdf");
|
||||
file.remove();
|
||||
|
||||
file.open(QIODevice::ReadWrite);
|
||||
file.write(reply->readAll());
|
||||
file.close();
|
||||
QUrl url = QUrl::fromLocalFile(path + "/.fannyapp-tmp/" + day + ".pdf");
|
||||
|
||||
// QDesktopServices::openUrl(url);
|
||||
return("OK_" + url.toString());
|
||||
}
|
||||
else if(status_code == 401){
|
||||
return("Ungültige Benutzerdaten.");
|
||||
}
|
||||
else if(status_code == 0){
|
||||
return("Keine Verbindung zum Server.");
|
||||
}
|
||||
else {
|
||||
QString ret = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toChar();
|
||||
ret = ret + " (" + reply->attribute(QNetworkRequest::HttpReasonPhraseAttribute).toChar() + ")";
|
||||
return(ret);
|
||||
}
|
||||
}
|
||||
|
||||
int ServerConn::checkConn()
|
||||
{
|
||||
// Create request
|
||||
QNetworkRequest request;
|
||||
request.setUrl( QUrl( "http://www.fanny-leicht.de/static15/http.intern/" ) );
|
||||
|
||||
// Pack in credentials
|
||||
// e.g. ZedlerDo:LxyJQB (yes, these do actually work ;)
|
||||
QString concatenatedCredentials = this->username + ":" + this->password;
|
||||
QByteArray data = concatenatedCredentials.toLocal8Bit().toBase64();
|
||||
QString headerData = "Basic " + data;
|
||||
request.setRawHeader( "Authorization", headerData.toLocal8Bit() );
|
||||
|
||||
QUrlQuery pdata;
|
||||
// Send request and connect all possible signals
|
||||
QNetworkReply*reply = this->refreshNetworkManager->post(request, pdata.toString(QUrl::FullyEncoded).toUtf8());
|
||||
//QNetworkReply*reply = networkManager->get( request );
|
||||
|
||||
QTimer timer;
|
||||
timer.start(3000);
|
||||
|
||||
QEventLoop loop;
|
||||
loop.connect(this->refreshNetworkManager, SIGNAL(finished(QNetworkReply*)), SLOT(quit()));
|
||||
loop.connect(&timer, SIGNAL(timeout()), &loop, SLOT(quit()));
|
||||
loop.exec();
|
||||
|
||||
int status_code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
|
||||
|
||||
if(status_code == 401){
|
||||
authErrorCount ++;
|
||||
|
||||
if(authErrorCount > 3){
|
||||
logout();
|
||||
}
|
||||
}
|
||||
|
||||
this->checkConnTimer->start();
|
||||
return(status_code);
|
||||
}
|
||||
|
||||
void ServerConn::updateProgress(qint64 read, qint64 total)
|
||||
{
|
||||
int read_int = int(read);
|
||||
int total_int = int(total);
|
||||
float percent = (float(read_int) / float(total_int));
|
||||
this->progress = percent;
|
||||
percent = int(percent);
|
||||
|
||||
// qDebug() << read << total << percent << "%";
|
||||
}
|
||||
|
||||
float ServerConn::getProgress()
|
||||
{
|
||||
return(this->progress);
|
||||
}
|
||||
|
||||
int ServerConn::getEvents(QString day){
|
||||
|
||||
/*
|
||||
this->progress = 0;
|
||||
ReturnData_t ret; //this is a custom type to store the returned data
|
||||
// Call the webservice
|
||||
|
||||
QNetworkRequest request(QUrl("http://api.itsblue.de/fanny/vertretung.php?uname=" + this->username + "&passwd=" + this->password + "&day=" + day + "&agree=true"));
|
||||
request.setHeader(QNetworkRequest::ContentTypeHeader,
|
||||
"application/x-www-form-urlencoded");
|
||||
|
||||
//send a POST request with the given url and data to the server
|
||||
QNetworkReply* reply;
|
||||
|
||||
QUrlQuery pdata;
|
||||
reply = this->networkManager->post(request, pdata.toString(QUrl::FullyEncoded).toUtf8());
|
||||
|
||||
connect(reply, SIGNAL(downloadProgress(qint64, qint64)),
|
||||
this, SLOT(updateProgress(qint64, qint64)));
|
||||
//wait until the request has finished
|
||||
QEventLoop loop;
|
||||
loop.connect(this->networkManager, SIGNAL(finished(QNetworkReply*)), SLOT(quit()));
|
||||
loop.exec();
|
||||
|
||||
//get the status code
|
||||
QVariant status_code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);
|
||||
this->progress = 1;
|
||||
*/
|
||||
|
||||
this->progress = 0;
|
||||
// Create request
|
||||
QNetworkRequest request;
|
||||
request.setUrl( QUrl( "http://www.fanny-leicht.de/static15/http.intern/" + day + ".txt" ) );
|
||||
|
||||
// Pack in credentials
|
||||
QString concatenatedCredentials = this->username + ":" + this->password;
|
||||
QByteArray data = concatenatedCredentials.toLocal8Bit().toBase64();
|
||||
QString headerData = "Basic " + data;
|
||||
request.setRawHeader( "Authorization", headerData.toLocal8Bit() );
|
||||
|
||||
QUrlQuery pdata;
|
||||
// Send request and connect all possible signals
|
||||
QNetworkReply*reply = this->networkManager->post(request, pdata.toString(QUrl::FullyEncoded).toUtf8());
|
||||
//QNetworkReply*reply = networkManager->get( request );
|
||||
|
||||
connect(reply, SIGNAL(downloadProgress(qint64, qint64)),
|
||||
this, SLOT(updateProgress(qint64, qint64)));
|
||||
QEventLoop loop;
|
||||
loop.connect(this->networkManager, SIGNAL(finished(QNetworkReply*)), SLOT(quit()));
|
||||
loop.exec();
|
||||
|
||||
this->progress = 1;
|
||||
int status_code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
|
||||
|
||||
if(status_code != 200){
|
||||
// if the request didn't result in a success, clear the old events, as they are probaply incorrect and return the error code
|
||||
this->m_events.clear();
|
||||
return(status_code);
|
||||
}
|
||||
|
||||
QString eventString = reply->readAll();
|
||||
|
||||
// qDebug() << "reading text file";
|
||||
// QFile * textFile = new QFile(":/samplehtml/Download File.txt");
|
||||
// if (!textFile->open(QIODevice::ReadOnly | QIODevice::Text)) {
|
||||
// qDebug() << "Load XML File Problem Couldn't open xmlfile.xml to load settings for download";
|
||||
// return 900;
|
||||
// }
|
||||
|
||||
// eventString = textFile->readAll();
|
||||
|
||||
|
||||
// separate all lines into a list
|
||||
QStringList events = eventString.split("\n");
|
||||
|
||||
// a line (one element of the list) looks like this:
|
||||
// class hour replace subject room to text
|
||||
// 8a 1-2 Ei Ch --- Entfall KEINE KA
|
||||
// [ ] <-- at least two spaces between two blocks
|
||||
// 'to' and 'text' can be blank
|
||||
|
||||
for(int i = 0; i < events.length(); i++){
|
||||
if(events[i] == ""){
|
||||
events.removeAt(i);
|
||||
}
|
||||
}
|
||||
|
||||
// all pages of the original Event document have a similar header that gets removed by this command
|
||||
// (only the first one remains)
|
||||
events.removeDuplicates();
|
||||
|
||||
// temporary list to store the events for the given day
|
||||
QList<QStringList> tmpEvents;
|
||||
|
||||
// temporary list to store the header information
|
||||
QStringList tmpEventHeader;
|
||||
|
||||
// get the filers list for later usage
|
||||
QList<QStringList> filtersList = pGlobalAppSettings->readFilters();
|
||||
|
||||
// remove all elements from the filters list, that do not match the current mode ( teacher / student ) of the app
|
||||
for(int i = 0; i < filtersList.length(); i++){
|
||||
QStringList filterList = filtersList[i];
|
||||
if( !(pGlobalAppSettings->loadSetting("teacherMode") == "true" ? filterList[2] == "t":filterList[2] == "s") ){
|
||||
filtersList.removeAt(i);
|
||||
i = i-1;
|
||||
}
|
||||
}
|
||||
|
||||
// go through the list and process every single row
|
||||
for(int x = 0; x < events.length(); x++){
|
||||
// store the event string
|
||||
QString event = events[x];
|
||||
|
||||
// value to count spaces between text
|
||||
int spaceCount = 0;
|
||||
|
||||
// temporary list to store the data of one day
|
||||
QStringList eventList;
|
||||
|
||||
// temporary dtring to store the data of one block
|
||||
QString tmpString;
|
||||
|
||||
// processing works like:
|
||||
// go through the line char by char
|
||||
for(int i = 0;i < event.length(); i++){
|
||||
// store the char temporarly
|
||||
QCharRef tmpChar = event[i];
|
||||
|
||||
// check if the char is a space
|
||||
if(tmpChar == " "){
|
||||
// if so, increase the spaceCount by one
|
||||
spaceCount ++;
|
||||
}
|
||||
else {
|
||||
// if not -> new block or part of a block started
|
||||
// could be : 8a 1 - 2 OR 8a 1 - 2
|
||||
// here->| OR here->|
|
||||
// in the first case, the space counter is higer than one
|
||||
// in the second case, the space counter is exactly one
|
||||
if(spaceCount == 1){
|
||||
// -> append a space to the temp string
|
||||
tmpString.append(" ");
|
||||
}
|
||||
|
||||
// reset the space counter
|
||||
spaceCount = 0;
|
||||
|
||||
// append the current character
|
||||
tmpString.append(tmpChar);
|
||||
}
|
||||
|
||||
// check if the space count is 2
|
||||
if(spaceCount == 2){
|
||||
// if so -> break between two blocks
|
||||
// could be: 8a 1 - 2
|
||||
// here ->|
|
||||
|
||||
// -> append the current tmpString to the eventList
|
||||
eventList.append(tmpString);
|
||||
|
||||
// and clear the tmpString
|
||||
tmpString = "";
|
||||
}
|
||||
|
||||
//qDebug() << "char= " << tmpChar << " string= " << tmpString << " list= " << eventList;
|
||||
}
|
||||
|
||||
// append the remaining tmpString to the eventList
|
||||
eventList.append(tmpString);
|
||||
|
||||
// fill up the eventList with blanks until it reaches the defined length
|
||||
while (eventList.length() < 7) {
|
||||
eventList.append("");
|
||||
}
|
||||
|
||||
if(x < 6){
|
||||
// if the event is in the header
|
||||
// the header could look like this:
|
||||
//
|
||||
// D-70563 FANNY-LEICHT-GYMN. Schuljahr 2018/19 - 1. Halbjahr Untis 2017
|
||||
// STUTTGART, F.-LEICHT-STR. 13 gültig ab 10. September 2018 (13.12.2018 9:04)
|
||||
//
|
||||
//[Klasse 13.12. / Donnerstag Woche-A]
|
||||
//{Ordnungsdienst: Klasse 10a}
|
||||
//
|
||||
// important data:
|
||||
// () = date and time the document has been created
|
||||
// [] = date the document is made for
|
||||
// {} = class that has to clean up the scool :D
|
||||
// (brackets are not present in the document)
|
||||
|
||||
// line 0 and 4 don't contain imporant information -> skip
|
||||
|
||||
if (x == 1) {
|
||||
// the second line contains the creation date
|
||||
// the creation date is the third block of the line
|
||||
tmpEventHeader.append(eventList[2]);
|
||||
}
|
||||
else if (x == 2) {
|
||||
// the third line contains the target date of the document
|
||||
// the target date is the first block of the line
|
||||
tmpEventHeader.append(eventList[0]);
|
||||
}
|
||||
else if (x == 3) {
|
||||
// the third line contains the cleaning class
|
||||
// the cleaning class is the first block of the line
|
||||
tmpEventHeader.append(eventList[0]);
|
||||
}
|
||||
else if (x == 4) {
|
||||
// if the fourth line is reached
|
||||
// fill the event header
|
||||
while (tmpEventHeader.length() < 7) {
|
||||
tmpEventHeader.append("");
|
||||
}
|
||||
|
||||
// check if the header is valid
|
||||
// variable to count filled blocks
|
||||
int blocksOK = 0;
|
||||
foreach(QString block, tmpEventHeader){
|
||||
if(block != ""){
|
||||
blocksOK ++;
|
||||
}
|
||||
}
|
||||
|
||||
if(blocksOK != 3) {
|
||||
// if there are more or less than 3 filled blocks, the data is invalid
|
||||
this->m_events.clear();
|
||||
return(900);
|
||||
}
|
||||
|
||||
// swap creation and target date
|
||||
tmpEventHeader.swap(0,1);
|
||||
|
||||
// and append it to the events list
|
||||
tmpEvents.append(tmpEventHeader);
|
||||
}
|
||||
else if (x == 5) {
|
||||
// the fifth row contains the labels for the different filds
|
||||
// -> append it to the events list
|
||||
tmpEvents.append(eventList);
|
||||
}
|
||||
|
||||
}
|
||||
else if(filtersList.isEmpty()){
|
||||
// if there are no filters append the event immideatly
|
||||
tmpEvents.append(eventList);
|
||||
}
|
||||
else {
|
||||
// if there is at least one filter, check if the event matches it
|
||||
foreach(QStringList filter, filtersList){
|
||||
// go through all filters and check if one of them matches the event
|
||||
|
||||
if((eventList[0].contains(filter[0]) && eventList[0].contains(filter[1]))){
|
||||
// append the eventList to the temporary event list
|
||||
tmpEvents.append(eventList);
|
||||
// terminate the loop
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// store the new events into the class variable
|
||||
this->m_events = tmpEvents;
|
||||
qDebug() << tmpEvents;
|
||||
|
||||
// check if there is any valid data
|
||||
if(this->m_events.length() < 3){
|
||||
// remove the last (in this case the second) element, as it is unnecessary
|
||||
m_events.takeLast();
|
||||
// return no data
|
||||
return(901);
|
||||
}
|
||||
|
||||
// return success
|
||||
return(200);
|
||||
|
||||
/*
|
||||
qDebug() << "reading xml file";
|
||||
QFile * xmlFile = new QFile(":/samplehtml/Download File.xml");
|
||||
if (!xmlFile->open(QIODevice::ReadOnly | QIODevice::Text)) {
|
||||
qDebug() << "Load XML File Problem Couldn't open xmlfile.xml to load settings for download";
|
||||
return 900;
|
||||
}
|
||||
|
||||
//QXmlStreamReader * xmlReader = new QXmlStreamReader(eventString);
|
||||
QXmlStreamReader * xmlReader = new QXmlStreamReader(xmlFile);
|
||||
//qDebug() << xmlFile->readAll();
|
||||
QList<QStringList> tmpEvents;
|
||||
QStringList dayList;
|
||||
while (dayList.length() < 7) {
|
||||
dayList.append("");
|
||||
}
|
||||
|
||||
int currTop = 0;
|
||||
|
||||
|
||||
<text top="530" left="3" width="20" height="17" font="1">8a</text>
|
||||
<text top="530" left="55" width="36" height="17" font="1">1 - 2</text>
|
||||
<text top="530" left="123" width="16" height="17" font="4"><i>Ei</i></text>
|
||||
<text top="530" left="178" width="23" height="17" font="4"><i>Ch</i></text>
|
||||
<text top="530" left="233" width="18" height="17" font="1">---</text>
|
||||
<text top="530" left="275" width="50" height="17" font="1">Entfall</text>
|
||||
<text top="530" left="391" width="83" height="17" font="1">KEINE KA</text>
|
||||
|
||||
<text top="194" left="3" width="62" height="17" font="1">5abc 1</text>
|
||||
<text top="194" left="102" width="27" height="17" font="4"><i>We</i></text>
|
||||
<text top="194" left="157" width="25" height="17" font="4"><i>KR</i></text>
|
||||
<text top="194" left="209" width="18" height="17" font="1">---</text>
|
||||
<text top="194" left="251" width="50" height="17" font="1">Entfall</text>
|
||||
|
||||
|
||||
#define eventXmlPosGrade 3
|
||||
#define eventXmlPosHour 55
|
||||
#define eventXmlPosReplace 123
|
||||
#define eventXmlPosSubject 178
|
||||
#define eventXmlPosRoom 233
|
||||
#define eventXmlPosTo 275
|
||||
#define eventXmlPosText 391
|
||||
|
||||
QList<int> eventXmlPositions = {eventXmlPosGrade,eventXmlPosHour,eventXmlPosReplace,eventXmlPosSubject,eventXmlPosRoom,eventXmlPosTo,eventXmlPosText};
|
||||
qDebug() << "start xml parsing";
|
||||
//Parse the XML until we reach end of it
|
||||
while(!xmlReader->atEnd()) {
|
||||
if (xmlReader->readNextStartElement()) {
|
||||
// read next element
|
||||
|
||||
if (xmlReader->name().toString() == "text"){
|
||||
// text element found
|
||||
QXmlStreamAttributes attributes = xmlReader->attributes();
|
||||
QString attribute_value;
|
||||
int top;
|
||||
|
||||
if(attributes.hasAttribute("font")){
|
||||
attribute_value = attributes.value("font").toString();
|
||||
}
|
||||
|
||||
if(attributes.hasAttribute("top")){
|
||||
// get the y-Position of the text
|
||||
|
||||
top = attributes.value("top").toInt();
|
||||
|
||||
if(abs(top - currTop) > 3){
|
||||
// new line started
|
||||
|
||||
if(currTop > 175){
|
||||
// if not header -> append
|
||||
qDebug() << dayList;
|
||||
tmpEvents.append(dayList);
|
||||
}
|
||||
|
||||
dayList.clear();
|
||||
while (dayList.length() < 7) {
|
||||
dayList.append("");
|
||||
}
|
||||
currTop = top;
|
||||
}
|
||||
|
||||
if(attributes.hasAttribute("left")){
|
||||
int left = attributes.value("left").toInt();
|
||||
QString text = xmlReader->readElementText(QXmlStreamReader::IncludeChildElements);
|
||||
qDebug() << text;
|
||||
for(int i = 0;i<7;i++){
|
||||
//qDebug() << i << left << abs(left - eventXmlPositions[i]);
|
||||
if(abs(left - eventXmlPositions[i]) < 30){
|
||||
dayList[i] = text;
|
||||
//qDebug() << i << left << text << dayList << left << abs(left - eventXmlPositions[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
else {
|
||||
qDebug() << " no left";
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
qDebug() << " no top";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this->m_events = tmpEvents;
|
||||
|
||||
if(xmlReader->hasError()) {
|
||||
qDebug() << "xmlFile.xml Parse Error" << xmlReader->errorString();
|
||||
//return(900);
|
||||
}
|
||||
|
||||
//close reader and flush file
|
||||
xmlReader->clear();
|
||||
xmlFile->close();
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
int ServerConn::getFoodPlan()
|
||||
{
|
||||
// set the progress to 0
|
||||
this->progress = 0;
|
||||
|
||||
// Call the webservice
|
||||
QNetworkRequest request(QUrl("http://www.treffpunkt-fanny.de/fuer-schueler-und-lehrer/speiseplan.html"));
|
||||
request.setHeader(QNetworkRequest::ContentTypeHeader,
|
||||
"application/x-www-form-urlencoded");
|
||||
|
||||
// send a GET request to the treffpunkt fanny server
|
||||
QNetworkReply* reply;
|
||||
reply = this->networkManager->get(request);
|
||||
|
||||
// update the progress during the request
|
||||
connect(reply, SIGNAL(downloadProgress(qint64, qint64)),
|
||||
this, SLOT(updateProgress(qint64, qint64)));
|
||||
|
||||
// loop to wait until the request has finished before processing the data
|
||||
QEventLoop loop;
|
||||
// timer to cancel the request after 3 seconds
|
||||
QTimer timer;
|
||||
timer.setSingleShot(true);
|
||||
|
||||
// quit the loop when the request finised
|
||||
loop.connect(this->networkManager, SIGNAL(finished(QNetworkReply*)), SLOT(quit()));
|
||||
// or the timer timed out
|
||||
loop.connect(&timer, SIGNAL(timeout()), &loop, SLOT(quit()));
|
||||
// start the timer
|
||||
timer.start(2000);
|
||||
// start the loop
|
||||
loop.exec();
|
||||
|
||||
// get the status code
|
||||
QVariant status_code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);
|
||||
// set the progress to 1
|
||||
this->progress = 1;
|
||||
if(status_code != 200){
|
||||
// if the request didn't result in a success, return the error code
|
||||
|
||||
// if the request failed but there is still old data available
|
||||
if(!this->m_weekplan.isEmpty()){
|
||||
// set the status code to 902 (old data)
|
||||
status_code = 902;
|
||||
}
|
||||
|
||||
return(status_code.toInt());
|
||||
}
|
||||
|
||||
// initialize the weekplan to store information to it
|
||||
QList<QList<QString>> temp_weekplan;
|
||||
|
||||
// m_weekplan is a list, that contains a list for each day, which contains: cookteam, date, main dish, vagi main dish, garnish(Beilage) and Dessert.
|
||||
|
||||
// read the whole website
|
||||
QString returnedData = QString::fromUtf8(reply->readAll());
|
||||
|
||||
// remove unnecessary stuff
|
||||
returnedData.replace("\n","");
|
||||
returnedData.replace("\r","");
|
||||
returnedData.replace("\t","");
|
||||
|
||||
// workaround for changing html syntax
|
||||
returnedData.replace("style=\"width: 25%;\"", "width=\"25%\"");
|
||||
|
||||
// split the string at the beginning of the tables
|
||||
QStringList documentList = returnedData.split( "<table class=\"speiseplan\">" );
|
||||
|
||||
// enshure that the data is valid
|
||||
if(documentList.length() < 2){
|
||||
return(900);
|
||||
}
|
||||
|
||||
//---------- prepare the table of the first week ----------
|
||||
QString table1 = documentList[1];
|
||||
|
||||
// enshure that the data is valid
|
||||
if(table1.split( "</table>" ).length() < 1){
|
||||
return(900);
|
||||
}
|
||||
|
||||
// remove everything after "</table>"
|
||||
table1 = table1.split( "</table>" )[0];
|
||||
// remove "<tbody><tr style=\"border: 1px solid #999;\" align=\"center\" valign=\"top\">" at the beginning
|
||||
table1.remove(0,71);
|
||||
//remove "</tr></tbody>" at the end
|
||||
table1 = table1.left(table1.length() - 13);
|
||||
|
||||
//split at the days to get a list of all days
|
||||
QStringList table1list = table1.split("<td width=\"25%\">");
|
||||
|
||||
// enshure that the data is valid
|
||||
if(table1list.length() < 5){
|
||||
return(900);
|
||||
}
|
||||
|
||||
//remove the first item, as it is empty
|
||||
table1list.takeFirst();
|
||||
|
||||
//---------- prepare the table of the second week ----------
|
||||
QString table2 = documentList[2];
|
||||
|
||||
// enshure that the data is valid
|
||||
if(table2.split( "</table>" ).length() < 1){
|
||||
return(900);
|
||||
}
|
||||
|
||||
//remove everything after "</table>"
|
||||
table2 = table2.split( "</table>" )[0];
|
||||
//remove "<tbody><tr align=\"center\" valign=\"top\">" at the beginning
|
||||
table2.remove(0,39);
|
||||
//remove "</tr></tbody>" at the end
|
||||
table2.remove(table2.length() - 13, table2.length());
|
||||
|
||||
//split at the days to get a list of all days
|
||||
QStringList table2list = table2.split("<td width=\"25%\">");
|
||||
|
||||
// enshure that the data is valid
|
||||
if(table2list.length() < 5){
|
||||
return(900);
|
||||
}
|
||||
|
||||
//remove the first item, as it is empty
|
||||
table2list.takeFirst();
|
||||
|
||||
//---------- put both weeks into one big list ----------
|
||||
QStringList weeklist = table1list + table2list;
|
||||
|
||||
//---------- go through all days and split the day-string into the different types of information ----------
|
||||
|
||||
for (int i = 0; i <=7; i ++){
|
||||
if(i > weeklist.length()){
|
||||
// if the loop exceeds the length of the wweklist some kind of eror occured
|
||||
return 900;
|
||||
}
|
||||
|
||||
// store item temporarly to edit it
|
||||
QString day = weeklist[i];
|
||||
// remove "</td>" at the and of the Item
|
||||
day = day.left(day.length()-5);
|
||||
|
||||
// table list[i] looks now like: | clould be:
|
||||
// <strong>cookteam</strong> | <strong>Red Hot Chili Peppers</strong>
|
||||
// <br /> | <br />
|
||||
// <strong>date</strong> | <strong>26.06.2018</strong>
|
||||
// <hr />mainDish | <hr />Gulasch mit Kartoffeln
|
||||
// <hr />mainDishVeg | <hr />Pellkartoffeln mit Quark
|
||||
// <hr />garnish | <hr />Gemischter Salat
|
||||
// <hr />dessert</td> | <hr />Eaton Mess ( Erdbeer-Nachtisch )</td>
|
||||
|
||||
// split item at strong, to get the cookteam and the date
|
||||
QStringList daylist = day.split("<strong>");
|
||||
day = "";
|
||||
|
||||
// convert the list to a big string
|
||||
for (int i = 0; i <= 2; i ++){
|
||||
if(i <= daylist.length()){
|
||||
day += daylist[i];
|
||||
}
|
||||
}
|
||||
|
||||
day.replace("<br />","");
|
||||
daylist = day.split("</strong>");
|
||||
|
||||
// store cookteam and date in the temp_weekplan
|
||||
//temp_weekplan.append({daylist[0], daylist[1]});
|
||||
|
||||
// store information in day
|
||||
// (looks like: "<hr />MainDish<hr />MainDishVeg<hr />Garnish<hr />Dessert")
|
||||
// (could be: "<hr />Gulasch mit Kartoffeln<hr />Pellkartoffeln mit Quark<hr />Gemischter Salat<hr />Eaton Mess ( Erdbeer-Nachtisch )")
|
||||
day = daylist.takeLast();
|
||||
// seperate the information
|
||||
daylist.append(day.split("<hr />"));
|
||||
// remove the item that is emplty from the list
|
||||
daylist.removeAt(2);
|
||||
|
||||
//---------- check if the day is aleady over ----------
|
||||
|
||||
// get the datestring
|
||||
QString dateString = daylist[1];
|
||||
// convert it to a valid QDate
|
||||
QDateTime date = QDateTime::fromString(dateString,"dd.MM.yyyy");
|
||||
|
||||
// get the current date and time
|
||||
QDateTime currentDateTime = QDateTime::currentDateTimeUtc();
|
||||
|
||||
// check if the given day is still in the future or today (then it is valid)
|
||||
if(date.toTime_t() > currentDateTime.toTime_t() || date.date() == currentDateTime.date()){
|
||||
// add the rest of the information to the temp_weekplan
|
||||
qDebug() << "day valid:" << daylist;
|
||||
|
||||
//---------- convert the date to a readable string ----------
|
||||
QString readableDateString;
|
||||
|
||||
if(date.date() == currentDateTime.date()){
|
||||
// the given day is today
|
||||
readableDateString = "Heute";
|
||||
}
|
||||
else if (date.toTime_t() < ( currentDateTime.toTime_t() + ( 24 * 60 * 60 ))) {
|
||||
// the given day is tomorrow
|
||||
readableDateString = "Morgen";
|
||||
}
|
||||
else {
|
||||
readableDateString = date.toString("dddd, d.M.yy");
|
||||
}
|
||||
|
||||
qDebug() << readableDateString;
|
||||
|
||||
// insert the redable tring into the daylist
|
||||
daylist[1] = readableDateString;
|
||||
|
||||
// append the day to the weeklist
|
||||
temp_weekplan.append({daylist[0], daylist[1], daylist[2], daylist[3], daylist[4], daylist[5]});
|
||||
}
|
||||
}
|
||||
|
||||
// write data to global foodplan
|
||||
this->m_weekplan = temp_weekplan;
|
||||
|
||||
// check if there is any valid data
|
||||
if(this->m_weekplan.isEmpty()){
|
||||
// no data
|
||||
return(901);
|
||||
}
|
||||
|
||||
// success
|
||||
return(200);
|
||||
}
|
||||
|
||||
ReturnData_t ServerConn::senddata(QUrl serviceUrl, QUrlQuery pdata)
|
||||
{
|
||||
|
||||
ReturnData_t ret; //this is a custom type to store the returned data
|
||||
// Call the webservice
|
||||
|
||||
QNetworkRequest request(serviceUrl);
|
||||
QAuthenticator authenticator;
|
||||
authenticator.setUser("ZedlerDo");
|
||||
authenticator.setPassword("LxyJQB");
|
||||
request.setHeader(QNetworkRequest::ContentTypeHeader,
|
||||
"application/x-www-form-urlencoded");
|
||||
|
||||
//set ssl configuration
|
||||
//send a POST request with the given url and data to the server
|
||||
QNetworkReply* reply;
|
||||
|
||||
reply = this->networkManager->post(request, pdata.toString(QUrl::FullyEncoded).toUtf8());
|
||||
|
||||
//wait until the request has finished
|
||||
QEventLoop loop;
|
||||
loop.connect(this->networkManager, SIGNAL(finished(QNetworkReply*)), SLOT(quit()));
|
||||
loop.exec();
|
||||
|
||||
//get the status code
|
||||
QVariant status_code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);
|
||||
|
||||
ret.status_code = status_code.toInt();
|
||||
if(ret.status_code == 0){ //if tehstatus code is zero, the connecion to the server was not possible
|
||||
ret.status_code = 444;
|
||||
}
|
||||
//get the full text response
|
||||
ret.text = QString::fromUtf8(reply->readAll());
|
||||
|
||||
//return the data
|
||||
return(ret);
|
||||
}
|
||||
|
||||
|
||||
QString ServerConn::getState() {
|
||||
return(this->state);
|
||||
}
|
||||
|
||||
void ServerConn::setState(QString state) {
|
||||
this->state = state;
|
||||
this->stateChanged(this->state);
|
||||
}
|
||||
|
||||
ServerConn::~ServerConn()
|
||||
{
|
||||
qDebug("serverconn destruktor");
|
||||
delete this->networkManager;
|
||||
delete this->refreshNetworkManager;
|
||||
|
||||
QString path = QStandardPaths::writableLocation(QStandardPaths::DownloadLocation);
|
||||
QDir dir(path + "/.fannyapp-tmp");
|
||||
dir.removeRecursively();
|
||||
}
|