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
22
CHANGELOG.md
|
@ -1,9 +1,21 @@
|
||||||
# Changelog
|
# 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
|
### 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
|
## [0.04] - 2018-07-19
|
||||||
### Behoben
|
### Behoben
|
||||||
|
@ -30,6 +42,7 @@ Jegliche Veräderungen werden hier dokumentiert
|
||||||
|
|
||||||
### Geändert
|
### Geändert
|
||||||
- Die bisherige Fortschrittsanzeige durch eine kreisförmige erstezt
|
- Die bisherige Fortschrittsanzeige durch eine kreisförmige erstezt
|
||||||
|
|
||||||
### Behoben
|
### Behoben
|
||||||
- Der Text beim Spieseplan wird nicht mehr abgeschnitten
|
- Der Text beim Spieseplan wird nicht mehr abgeschnitten
|
||||||
- Beim Laden des Speiseplanes werden keine sehr großen oder kleinen Zahlen mehr angezeigt
|
- Beim Laden des Speiseplanes werden keine sehr großen oder kleinen Zahlen mehr angezeigt
|
||||||
|
@ -52,8 +65,9 @@ ohne Internetverbindung gestertet und diese dann während die app lief wieder he
|
||||||
## [0.02] - 2018-06-22
|
## [0.02] - 2018-06-22
|
||||||
### Hinzugefügt
|
### Hinzugefügt
|
||||||
- Fortschrittsanzeigr beim Herunterladen der pdfs
|
- Fortschrittsanzeigr beim Herunterladen der pdfs
|
||||||
|
|
||||||
### Behoben
|
### Behoben
|
||||||
-Rechtschreibfehler auf der Startseite
|
- Rechtschreibfehler auf der Startseite
|
||||||
|
|
||||||
## [0.01] - 2018-06-21
|
## [0.01] - 2018-06-21
|
||||||
### Hinzugefügt
|
### Hinzugefügt
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
<?xml version="1.0"?>
|
<?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">
|
<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">
|
||||||
<paths xmlns:android="http://schemas.android.com/apk/res/android">
|
|
||||||
<external-path name="external_files" path="."/>
|
|
||||||
</paths>
|
|
||||||
<application android:hardwareAccelerated="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="fannyapp" android:icon="@drawable/icon">
|
<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>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN"/>
|
<action android:name="android.intent.action.MAIN"/>
|
||||||
<category android:name="android.intent.category.LAUNCHER"/>
|
<category android:name="android.intent.category.LAUNCHER"/>
|
||||||
|
@ -62,13 +60,19 @@
|
||||||
-->
|
-->
|
||||||
<meta-data android:name="android.app.extract_android_style" android:value="full"/>
|
<meta-data android:name="android.app.extract_android_style" android:value="full"/>
|
||||||
<!-- extract android style -->
|
<!-- 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>
|
</activity>
|
||||||
|
|
||||||
<!-- For adding service(s) please check: https://wiki.qt.io/AndroidServices -->
|
<!-- For adding service(s) please check: https://wiki.qt.io/AndroidServices -->
|
||||||
|
|
||||||
</application>
|
</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"/>
|
<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.
|
<!-- 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
|
CONFIG += c++11
|
||||||
|
|
||||||
# The following define makes your compiler emit warnings if you use
|
# The following define makes your compiler emit warnings if you use
|
||||||
|
@ -16,20 +16,26 @@ TEMPLATE = app
|
||||||
TARGET = fannyapp
|
TARGET = fannyapp
|
||||||
|
|
||||||
ICON = favicon.icns
|
ICON = favicon.icns
|
||||||
RC_ICONS = favicon.ico
|
RC_ICONS = shared/favicon.ico
|
||||||
|
|
||||||
SOURCES += \
|
SOURCES += \
|
||||||
source/serverconn.cpp \
|
sources/serverconn.cpp \
|
||||||
source/main.cpp \
|
sources/main.cpp \
|
||||||
source/appsettings.cpp
|
sources/appsettings.cpp \
|
||||||
|
sources/foodplanmodel.cpp \
|
||||||
|
sources/eventmodel.cpp \
|
||||||
|
sources/filtermodel.cpp
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
headers/serverconn.h \
|
headers/serverconn.h \
|
||||||
headers/appsettings.h
|
headers/appsettings.h \
|
||||||
|
headers/foodplanmodel.h \
|
||||||
|
headers/eventmodel.h \
|
||||||
|
headers/filtermodel.h
|
||||||
|
|
||||||
RESOURCES += \
|
RESOURCES += \
|
||||||
qml/qml.qrc \
|
shared/shared.qrc \
|
||||||
shared.qrc
|
qml/qml.qrc
|
||||||
|
|
||||||
# Additional import path used to resolve QML modules in Qt Creator's code model
|
# Additional import path used to resolve QML modules in Qt Creator's code model
|
||||||
QML_IMPORT_PATH =
|
QML_IMPORT_PATH =
|
||||||
|
@ -43,10 +49,17 @@ else: unix:!android: target.path = /opt/$${TARGET}/bin
|
||||||
!isEmpty(target.path): INSTALLS += target
|
!isEmpty(target.path): INSTALLS += target
|
||||||
|
|
||||||
android {
|
android {
|
||||||
|
QT += androidextras
|
||||||
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android-sources
|
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android-sources
|
||||||
}
|
}
|
||||||
|
|
||||||
DISTFILES += \
|
DISTFILES += \
|
||||||
favicon.png \
|
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
|
#ifndef APPSETTINGS_H
|
||||||
#define APPSETTINGS_H
|
#define APPSETTINGS_H
|
||||||
|
|
||||||
|
#include <QFile>
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
|
#include <QtDebug>
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
|
#include <QJsonArray>
|
||||||
|
#include <QJsonDocument>
|
||||||
#include <QStandardPaths>
|
#include <QStandardPaths>
|
||||||
|
|
||||||
class AppSettings : public QObject
|
class AppSettings : public QObject
|
||||||
|
@ -15,7 +19,14 @@ public:
|
||||||
Q_INVOKABLE QString loadSetting(const QString &key);
|
Q_INVOKABLE QString loadSetting(const QString &key);
|
||||||
Q_INVOKABLE void writeSetting(const QString &key, const QVariant &variant);
|
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;
|
QSettings *settingsManager;
|
||||||
|
QFile * filtersFile;
|
||||||
|
|
||||||
signals:
|
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 <QObject>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
|
#include <QtXml>
|
||||||
|
#include <QTimer>
|
||||||
|
|
||||||
#include <QtNetwork>
|
#include <QtNetwork>
|
||||||
#include <QAuthenticator>
|
#include <QAuthenticator>
|
||||||
#include <QDesktopServices>
|
#include <QDesktopServices>
|
||||||
|
@ -11,6 +14,10 @@
|
||||||
|
|
||||||
#include "headers/appsettings.h"
|
#include "headers/appsettings.h"
|
||||||
|
|
||||||
|
#ifdef Q_OS_ANDROID
|
||||||
|
#include <QtAndroidExtras>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
typedef struct strReturnData{
|
typedef struct strReturnData{
|
||||||
int status_code;
|
int status_code;
|
||||||
|
@ -20,44 +27,51 @@ typedef struct strReturnData{
|
||||||
class ServerConn : public QObject
|
class ServerConn : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
Q_PROPERTY(QString state READ getState NOTIFY stateChanged)
|
||||||
|
|
||||||
public:
|
private:
|
||||||
|
QString state;
|
||||||
|
// can be: loggedIn ; notLoggedIn
|
||||||
QString username;
|
QString username;
|
||||||
QString password;
|
QString password;
|
||||||
QNetworkAccessManager *networkManager;
|
QNetworkAccessManager *networkManager;
|
||||||
QNetworkAccessManager *refreshNetworkManager;
|
QNetworkAccessManager *refreshNetworkManager;
|
||||||
|
QTimer *checkConnTimer;
|
||||||
float progress;
|
float progress;
|
||||||
|
int authErrorCount;
|
||||||
|
|
||||||
|
ReturnData_t senddata(QUrl serviceUrl, QUrlQuery postData);
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void updateProgress(qint64 read, qint64 total);
|
||||||
|
|
||||||
|
void setState(QString state);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit ServerConn(QObject *parent = nullptr);
|
explicit ServerConn(QObject *parent = nullptr);
|
||||||
~ServerConn();
|
~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 int logout();
|
||||||
Q_INVOKABLE QString getDay(QString day);
|
Q_INVOKABLE QString getDay(QString day);
|
||||||
Q_INVOKABLE int checkConn();
|
Q_INVOKABLE int checkConn();
|
||||||
Q_INVOKABLE float getProgress();
|
Q_INVOKABLE float getProgress();
|
||||||
Q_INVOKABLE int getFoodPlan();
|
Q_INVOKABLE int getFoodPlan();
|
||||||
Q_INVOKABLE QVariantMap getFoodPlanData(int index);
|
Q_INVOKABLE int getEvents(QString day);
|
||||||
ReturnData_t senddata(QUrl serviceUrl, QUrlQuery postData);
|
|
||||||
|
Q_INVOKABLE QString getState();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
void stateChanged(QString newState);
|
||||||
|
|
||||||
public slots:
|
public:
|
||||||
Q_INVOKABLE void updateProgress(qint64 read, qint64 total);
|
QList<QList<QString>> m_weekplan;
|
||||||
|
QList<QStringList> m_events;
|
||||||
|
QStringList m_eventHeader;
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
struct Day
|
|
||||||
{
|
|
||||||
QString Cookteam;
|
|
||||||
QString Date;
|
|
||||||
QString Main;
|
|
||||||
QString Main_veg;
|
|
||||||
QString Salad;
|
|
||||||
QString Dessert;
|
|
||||||
};
|
|
||||||
|
|
||||||
QList<QList<QString>> m_weekplan;
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
extern ServerConn * pGlobalServConn;
|
||||||
|
|
||||||
#endif // SERVERCONN_H
|
#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 2.9
|
||||||
import QtQuick.Controls 2.2
|
import QtQuick.Controls 2.2
|
||||||
|
|
||||||
|
import Backend 1.0
|
||||||
|
|
||||||
|
import "./Components"
|
||||||
|
import "./Forms"
|
||||||
|
import "./Pages"
|
||||||
|
|
||||||
ApplicationWindow {
|
ApplicationWindow {
|
||||||
id: window
|
id: window
|
||||||
visible: true
|
visible: true
|
||||||
width: 540
|
width: 540
|
||||||
height: 960
|
height: 960
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: app
|
||||||
|
|
||||||
|
anchors.fill: parent
|
||||||
|
|
||||||
property bool is_error
|
property bool is_error
|
||||||
property string error
|
property string error
|
||||||
property bool initdone: false
|
|
||||||
property bool firstinitdone: false
|
|
||||||
|
|
||||||
property string text_color: "black" //"#424753"
|
property string textColor: "black" // "#424753"
|
||||||
property string background_color: "white"
|
property string backgroundColor: "white"
|
||||||
property string toolbar_color: "#312f38"
|
property string toolbarColor: "#312f38"
|
||||||
|
|
||||||
onBeforeRendering: {
|
state: "loggedIn"
|
||||||
if(!firstinitdone){
|
|
||||||
var isinit = _cppAppSettings.loadSetting("permanent")
|
|
||||||
console.log("getinit");
|
|
||||||
console.log(isinit);
|
|
||||||
if(isinit === "0"){
|
|
||||||
stackView.push("qrc:/LoginPage.qml", {});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
firstinitdone = true
|
|
||||||
}
|
|
||||||
|
|
||||||
Timer {
|
states: [
|
||||||
//runs only one time at applictaion lauch
|
State {
|
||||||
property bool finished: true
|
name: "notLoggedIn"
|
||||||
id: initTimer
|
PropertyChanges {
|
||||||
interval: 1;
|
target: mainStack
|
||||||
running: initdone === false
|
currPage: loginPage
|
||||||
repeat: finished
|
}
|
||||||
onTriggered: {
|
},
|
||||||
finished = false
|
|
||||||
var init = _cppAppSettings.loadSetting("init")
|
|
||||||
|
|
||||||
var perm = _cppAppSettings.loadSetting("permanent")
|
State {
|
||||||
console.log("checkoldlogin:", perm);
|
name: "loggedIn"
|
||||||
if(perm === "1"){
|
PropertyChanges {
|
||||||
console.log("Perm")
|
target: mainStack
|
||||||
var ret = _cppServerConn.login(_cppAppSettings.loadSetting("username"), _cppAppSettings.loadSetting("password"), true);
|
currPage: mainPage
|
||||||
if(ret === "OK"){
|
|
||||||
initdone = true
|
|
||||||
_cppAppSettings.writeSetting("init", 1);
|
|
||||||
if(stackView.currentItem.objectName !== "MainPage"){
|
|
||||||
stackView.push("qrc:/MainPage.qml", {});
|
|
||||||
}
|
}
|
||||||
window.is_error = false;
|
|
||||||
}
|
|
||||||
else if(ret === "Keine Verbindung zum Server."){
|
|
||||||
handleError(0)
|
|
||||||
//initTimer.interval = 1000
|
|
||||||
finished = true
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
]
|
||||||
|
|
||||||
else {
|
ServerConn {
|
||||||
ret = _cppServerConn.checkConn()
|
id: serverConn
|
||||||
handleError(ret)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
initdone = false
|
|
||||||
if(stackView.currentItem.objectName !== "LoginPage"){
|
|
||||||
stackView.push("qrc:/LoginPage.qml")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
finished = true
|
|
||||||
initdone = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Timer {
|
onStateChanged: {
|
||||||
id: refreshTimer
|
app.state = newState
|
||||||
interval: 1000;
|
|
||||||
running: initdone && stackView.currentItem.objectName !== "LoginPage"
|
|
||||||
repeat: true
|
|
||||||
onTriggered: {
|
|
||||||
var ret = _cppServerConn.checkConn()
|
|
||||||
handleError(ret)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
StackView {
|
StackView {
|
||||||
id: stackView
|
id: mainStack
|
||||||
initialItem: "MainPage.qml"
|
|
||||||
|
property var currPage
|
||||||
|
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
|
||||||
|
onCurrPageChanged: {
|
||||||
|
mainStack.replace(currPage)
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleError(error_code){
|
//initialItem: mainPage
|
||||||
if(error_code === 200){
|
|
||||||
window.is_error = false;
|
Component {
|
||||||
window.error = "";
|
id: loginPage
|
||||||
|
LoginPage {}
|
||||||
}
|
}
|
||||||
else if(error_code === 401){
|
|
||||||
console.warn("401")
|
Component {
|
||||||
_cppAppSettings.writeSetting("permanent", 0)
|
id: mainPage
|
||||||
_cppAppSettings.writeSetting("username", "")
|
MainPage {}
|
||||||
_cppAppSettings.writeSetting("password", "")
|
|
||||||
if(["LoginPage"].indexOf(stackView.currentItem.objectName) < 0){
|
|
||||||
console.log("switching to login page")
|
|
||||||
stackView.push("qrc:/LoginPage.qml");
|
|
||||||
}
|
}
|
||||||
window.is_error = true;
|
|
||||||
window.error = "Nicht angemeldet!!";
|
|
||||||
}
|
}
|
||||||
else if(error_code === 500){
|
|
||||||
window.is_error = true;
|
function getErrorInfo(errorCode) {
|
||||||
window.error = "Interner Server Fehler!";
|
|
||||||
|
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;
|
return([infoLevel, errorString, errorDescription])
|
||||||
window.error = "Keine Verbindung zum Server!";
|
|
||||||
}
|
}
|
||||||
else if(error_code === 404){
|
|
||||||
//the testcon function calls a non existent file to be fast, so no error here
|
function landscape(){
|
||||||
window.is_error = false;
|
return(app.width > app.height)
|
||||||
}
|
|
||||||
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+")";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
24
qml/qml.qrc
|
@ -1,13 +1,21 @@
|
||||||
<RCC>
|
<RCC>
|
||||||
<qresource prefix="/">
|
<qresource prefix="/">
|
||||||
<file>main.qml</file>
|
<file>main.qml</file>
|
||||||
<file>HomeForm.qml</file>
|
<file>Pages/LoginPage.qml</file>
|
||||||
<file>qtquickcontrols2.conf</file>
|
<file>Components/AppToolBar.qml</file>
|
||||||
<file>LoginPage.qml</file>
|
<file>Forms/FoodPlanForm.qml</file>
|
||||||
<file>MainPage.qml</file>
|
<file>Components/ProgressCircle.qml</file>
|
||||||
<file>AppToolBar.qml</file>
|
<file>Forms/EventForm.qml</file>
|
||||||
<file>WebsitePage.qml</file>
|
<file>Pages/MainPage.qml</file>
|
||||||
<file>FoodPlanForm.qml</file>
|
<file>Components/FancyButton.qml</file>
|
||||||
<file>ProgressCircle.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>
|
</qresource>
|
||||||
</RCC>
|
</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>
|
# Dies ist die offizielle entwicklungs - repo der Fanny-App
|
||||||
<p>Die App bietet die Möglichkeit, komfortabel auf den Vertretungsplan des Fanny-Leicht-Gymnasiums in Stuttgart zuzugreifen.</p>
|
Die App bietet die Möglichkeit, komfortabel auf den Vertretungsplan des Fanny-Leicht-Gymnasiums in Stuttgart zuzugreifen.
|
||||||
|
|
||||||
<h4>Funktionen</h4>
|
### Funktionen
|
||||||
<p>- Zugriff auf den Vertretungsplan</p>
|
- Zugriff auf den Vertretungsplan
|
||||||
<p>- Anzeige des Speiseplanes des Treffpunkt Fanny</p>
|
- Anzeige des Speiseplanes des Treffpunkt Fanny
|
||||||
<p>- Zugriff auf die Fanny-Webseite (www.fanny-leicht.de)
|
|
||||||
|
|
||||||
<h4>Geplante Funktionen</h4>
|
### Geplante Funktionen
|
||||||
<p>- Sortierung der Ereignsse pro Klasse</p>
|
- Sortierung der Ereignsse pro Klasse
|
||||||
|
|
||||||
<h4>Weitere Informationen:</h4>
|
### Weitere Informationen:
|
||||||
<p>Wenn du eine Idee für eine neue Funktion hast, erstelle einfach eine issue (dafür musst du dich hier registrieren),<br>
|
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.</p>
|
oder schreibe eine Mail an development@itsblue.de.
|
||||||
<p>Falls du dich gerne an diesem Projekt beteiligen würdest (als Programmier, Designer o.ä.),<br>
|
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.</p>
|
schreibe bitte eine Mail an contact@itsblue.de, oder frag mich in der Schule.
|
||||||
<h5>Aktueller Status:</h5>
|
#### Aktueller Status:
|
||||||
<p>Warte auf die Anpassung des Vertretungsplanes.</p>
|
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://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/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>
|
<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 <QQuickStyle>
|
||||||
#include <QStandardPaths>
|
#include <QStandardPaths>
|
||||||
#include <QtQml>
|
|
||||||
#include <QtNetwork>
|
#include <QtNetwork>
|
||||||
#include <QQmlApplicationEngine>
|
#include <QQmlApplicationEngine>
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
|
@ -21,36 +13,40 @@
|
||||||
#include <QScreen>
|
#include <QScreen>
|
||||||
#include <QQmlApplicationEngine>
|
#include <QQmlApplicationEngine>
|
||||||
#include <QtQml/QQmlContext>
|
#include <QtQml/QQmlContext>
|
||||||
#include <QtWebView/QtWebView>
|
|
||||||
|
|
||||||
#include "headers/serverconn.h"
|
#include "headers/serverconn.h"
|
||||||
#include "headers/appsettings.h"
|
#include "headers/appsettings.h"
|
||||||
|
#include "headers/foodplanmodel.h"
|
||||||
|
#include "headers/eventmodel.h"
|
||||||
|
#include "headers/filtermodel.h"
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
ServerConn * pServerConn = new ServerConn;
|
|
||||||
AppSettings * pAppSettings = new AppSettings();
|
AppSettings * pAppSettings = new AppSettings();
|
||||||
pGlobalAppSettings = pAppSettings;
|
// ServerConn * pServerConn = new ServerConn();
|
||||||
|
|
||||||
|
|
||||||
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
|
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
|
||||||
|
|
||||||
|
|
||||||
QGuiApplication app(argc, argv);
|
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");
|
QQuickStyle::setStyle("Material");
|
||||||
QQmlApplicationEngine engine;
|
QQmlApplicationEngine engine;
|
||||||
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
|
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
|
||||||
|
QQmlContext *context = engine.rootContext();
|
||||||
|
|
||||||
|
// context->setContextProperty("_cppServerConn", pServerConn);
|
||||||
|
context->setContextProperty("_cppAppSettings", pAppSettings);
|
||||||
if (engine.rootObjects().isEmpty())
|
if (engine.rootObjects().isEmpty())
|
||||||
return -1;
|
return -1;
|
||||||
engine.rootContext()->setContextProperty("_cppServerConn", pServerConn);
|
|
||||||
engine.rootContext()->setContextProperty("_cppAppSettings", pAppSettings);
|
|
||||||
|
|
||||||
int ret;
|
int ret;
|
||||||
ret = app.exec();
|
ret = app.exec();
|
||||||
|
|
||||||
delete pServerConn;
|
// delete pServerConn;
|
||||||
delete pAppSettings;
|
delete pAppSettings;
|
||||||
return(ret);
|
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();
|
||||||
|
}
|