mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-18 21:30:38 +01:00
Remove External app for unsupported devices (web/n0100) and adds a basic examination checking system
This commit is contained in:
6
Makefile
6
Makefile
@@ -1,5 +1,11 @@
|
|||||||
include build/config.mak
|
include build/config.mak
|
||||||
|
|
||||||
|
ifeq (${DEVICE}, n0110)
|
||||||
|
apps_list = ${EPSILON_APPS}
|
||||||
|
else
|
||||||
|
apps_list = $(foreach i, ${EPSILON_APPS}, $(if $(filter external, $(i)),,$(i)))
|
||||||
|
endif
|
||||||
|
|
||||||
# Disable default Make rules
|
# Disable default Make rules
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|
||||||
|
|||||||
@@ -3,12 +3,12 @@ include apps/home/Makefile
|
|||||||
include apps/on_boarding/Makefile
|
include apps/on_boarding/Makefile
|
||||||
include apps/hardware_test/Makefile
|
include apps/hardware_test/Makefile
|
||||||
include apps/usb/Makefile
|
include apps/usb/Makefile
|
||||||
apps =
|
|
||||||
|
|
||||||
|
apps =
|
||||||
# All selected apps are included. Each Makefile below is responsible for setting
|
# All selected apps are included. Each Makefile below is responsible for setting
|
||||||
# the $apps variable (name of the app class) and the $app_headers
|
# the $apps variable (name of the app class) and the $app_headers
|
||||||
# (path to the apps header).
|
# (path to the apps header).
|
||||||
$(foreach i,${EPSILON_APPS},$(eval include apps/$(i)/Makefile))
|
$(foreach i,${apps_list},${eval include apps/$(i)/Makefile})
|
||||||
|
|
||||||
app_src += $(addprefix apps/,\
|
app_src += $(addprefix apps/,\
|
||||||
apps_container.cpp \
|
apps_container.cpp \
|
||||||
@@ -43,7 +43,7 @@ snapshots_construction = $(foreach i,$(apps),,m_snapshot$(subst :,,$(i))Snapshot
|
|||||||
snapshots_list = $(foreach i,$(apps),,&m_snapshot$(subst :,,$(i))Snapshot)
|
snapshots_list = $(foreach i,$(apps),,&m_snapshot$(subst :,,$(i))Snapshot)
|
||||||
snapshots_count = $(words $(apps))
|
snapshots_count = $(words $(apps))
|
||||||
snapshot_includes = $(foreach i,$(app_headers),-include $(i) )
|
snapshot_includes = $(foreach i,$(app_headers),-include $(i) )
|
||||||
epsilon_app_names = '$(foreach i,${EPSILON_APPS},"$(i)", )'
|
epsilon_app_names = '$(foreach i,${apps_list},"$(i)", )'
|
||||||
|
|
||||||
$(call object_for,apps/apps_container_storage.cpp apps/apps_container.cpp apps/main.cpp): CXXFLAGS += $(snapshot_includes) -DAPPS_CONTAINER_APPS_DECLARATION="$(apps_declaration)" -DAPPS_CONTAINER_SNAPSHOT_DECLARATIONS="$(snapshots_declaration)" -DAPPS_CONTAINER_SNAPSHOT_CONSTRUCTORS="$(snapshots_construction)" -DAPPS_CONTAINER_SNAPSHOT_LIST="$(snapshots_list)" -DAPPS_CONTAINER_SNAPSHOT_COUNT=$(snapshots_count) -DEPSILON_APPS_NAMES=$(epsilon_app_names) -DUSERNAME="$(USERNAME)"
|
$(call object_for,apps/apps_container_storage.cpp apps/apps_container.cpp apps/main.cpp): CXXFLAGS += $(snapshot_includes) -DAPPS_CONTAINER_APPS_DECLARATION="$(apps_declaration)" -DAPPS_CONTAINER_SNAPSHOT_DECLARATIONS="$(snapshots_declaration)" -DAPPS_CONTAINER_SNAPSHOT_CONSTRUCTORS="$(snapshots_construction)" -DAPPS_CONTAINER_SNAPSHOT_LIST="$(snapshots_list)" -DAPPS_CONTAINER_SNAPSHOT_COUNT=$(snapshots_count) -DEPSILON_APPS_NAMES=$(epsilon_app_names) -DUSERNAME="$(USERNAME)"
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,10 @@ I18n::Message App::Descriptor::upperName() {
|
|||||||
return I18n::Message::CalculAppCapital;
|
return I18n::Message::CalculAppCapital;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int App::Descriptor::examinationLevel() {
|
||||||
|
return App::Descriptor::StrictExaminationLevel;
|
||||||
|
}
|
||||||
|
|
||||||
const Image * App::Descriptor::icon() {
|
const Image * App::Descriptor::icon() {
|
||||||
return ImageStore::CalculationIcon;
|
return ImageStore::CalculationIcon;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ public:
|
|||||||
public:
|
public:
|
||||||
I18n::Message name() override;
|
I18n::Message name() override;
|
||||||
I18n::Message upperName() override;
|
I18n::Message upperName() override;
|
||||||
|
int examinationLevel() override;
|
||||||
const Image * icon() override;
|
const Image * icon() override;
|
||||||
};
|
};
|
||||||
class Snapshot : public ::App::Snapshot {
|
class Snapshot : public ::App::Snapshot {
|
||||||
|
|||||||
@@ -14,6 +14,10 @@ I18n::Message App::Descriptor::upperName() {
|
|||||||
return I18n::Message::CodeAppCapital;
|
return I18n::Message::CodeAppCapital;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int App::Descriptor::examinationLevel() {
|
||||||
|
return App::Descriptor::BasicExaminationLevel;
|
||||||
|
}
|
||||||
|
|
||||||
const Image * App::Descriptor::icon() {
|
const Image * App::Descriptor::icon() {
|
||||||
return ImageStore::CodeIcon;
|
return ImageStore::CodeIcon;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ public:
|
|||||||
public:
|
public:
|
||||||
I18n::Message name() override;
|
I18n::Message name() override;
|
||||||
I18n::Message upperName() override;
|
I18n::Message upperName() override;
|
||||||
|
int examinationLevel() override;
|
||||||
const Image * icon() override;
|
const Image * icon() override;
|
||||||
};
|
};
|
||||||
class Snapshot : public ::App::Snapshot {
|
class Snapshot : public ::App::Snapshot {
|
||||||
|
|||||||
4
apps/external/app.cpp
vendored
4
apps/external/app.cpp
vendored
@@ -12,6 +12,10 @@ I18n::Message App::Descriptor::upperName() {
|
|||||||
return I18n::Message::ExternalAppCapital;
|
return I18n::Message::ExternalAppCapital;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int App::Descriptor::examinationLevel() {
|
||||||
|
return App::Descriptor::BasicExaminationLevel;
|
||||||
|
}
|
||||||
|
|
||||||
const Image * App::Descriptor::icon() {
|
const Image * App::Descriptor::icon() {
|
||||||
return ImageStore::ExternalIcon;
|
return ImageStore::ExternalIcon;
|
||||||
}
|
}
|
||||||
|
|||||||
1
apps/external/app.h
vendored
1
apps/external/app.h
vendored
@@ -12,6 +12,7 @@ public:
|
|||||||
public:
|
public:
|
||||||
I18n::Message name() override;
|
I18n::Message name() override;
|
||||||
I18n::Message upperName() override;
|
I18n::Message upperName() override;
|
||||||
|
int examinationLevel() override;
|
||||||
const Image * icon() override;
|
const Image * icon() override;
|
||||||
};
|
};
|
||||||
class Snapshot : public ::App::Snapshot {
|
class Snapshot : public ::App::Snapshot {
|
||||||
|
|||||||
@@ -16,6 +16,10 @@ I18n::Message App::Descriptor::upperName() {
|
|||||||
return I18n::Message::FunctionAppCapital;
|
return I18n::Message::FunctionAppCapital;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int App::Descriptor::examinationLevel() {
|
||||||
|
return App::Descriptor::StrictExaminationLevel;
|
||||||
|
}
|
||||||
|
|
||||||
const Image * App::Descriptor::icon() {
|
const Image * App::Descriptor::icon() {
|
||||||
return ImageStore::GraphIcon;
|
return ImageStore::GraphIcon;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ public:
|
|||||||
public:
|
public:
|
||||||
I18n::Message name() override;
|
I18n::Message name() override;
|
||||||
I18n::Message upperName() override;
|
I18n::Message upperName() override;
|
||||||
|
int examinationLevel() override;
|
||||||
const Image * icon() override;
|
const Image * icon() override;
|
||||||
};
|
};
|
||||||
class Snapshot : public Shared::FunctionApp::Snapshot {
|
class Snapshot : public Shared::FunctionApp::Snapshot {
|
||||||
|
|||||||
@@ -59,8 +59,10 @@ bool Controller::handleEvent(Ion::Events::Event event) {
|
|||||||
if (event == Ion::Events::OK || event == Ion::Events::EXE) {
|
if (event == Ion::Events::OK || event == Ion::Events::EXE) {
|
||||||
AppsContainer * container = AppsContainer::sharedAppsContainer();
|
AppsContainer * container = AppsContainer::sharedAppsContainer();
|
||||||
::App::Snapshot * selectedSnapshot = container->appSnapshotAtIndex(selectionDataSource()->selectedRow()*k_numberOfColumns+selectionDataSource()->selectedColumn()+1);
|
::App::Snapshot * selectedSnapshot = container->appSnapshotAtIndex(selectionDataSource()->selectedRow()*k_numberOfColumns+selectionDataSource()->selectedColumn()+1);
|
||||||
if ((GlobalPreferences::sharedGlobalPreferences()->examMode() == GlobalPreferences::ExamMode::Dutch || GlobalPreferences::sharedGlobalPreferences()->examMode() == GlobalPreferences::ExamMode::NoSym) &&
|
if (((GlobalPreferences::sharedGlobalPreferences()->examMode() == GlobalPreferences::ExamMode::Dutch || GlobalPreferences::sharedGlobalPreferences()->examMode() == GlobalPreferences::ExamMode::NoSym) &&
|
||||||
(selectedSnapshot->descriptor()->name() == I18n::Message::CodeApp || selectedSnapshot->descriptor()->name() == I18n::Message::ExternalApp)) {
|
(selectedSnapshot->descriptor()->examinationLevel() < 2)) ||
|
||||||
|
((GlobalPreferences::sharedGlobalPreferences()->examMode() == GlobalPreferences::ExamMode::Standard) && (selectedSnapshot->descriptor()->examinationLevel() < 1))) {
|
||||||
|
//(selectedSnapshot->descriptor()->name() == I18n::Message::CodeApp || selectedSnapshot->descriptor()->name() == I18n::Message::ExternalApp)) {
|
||||||
App::app()->displayWarning(I18n::Message::ForbidenAppInExamMode1, I18n::Message::ForbidenAppInExamMode2);
|
App::app()->displayWarning(I18n::Message::ForbidenAppInExamMode1, I18n::Message::ForbidenAppInExamMode2);
|
||||||
} else {
|
} else {
|
||||||
bool switched = container->switchTo(selectedSnapshot);
|
bool switched = container->switchTo(selectedSnapshot);
|
||||||
|
|||||||
@@ -15,6 +15,10 @@ I18n::Message App::Descriptor::upperName() {
|
|||||||
return I18n::Message::ProbaAppCapital;
|
return I18n::Message::ProbaAppCapital;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int App::Descriptor::examinationLevel() {
|
||||||
|
return App::Descriptor::StrictExaminationLevel;
|
||||||
|
}
|
||||||
|
|
||||||
const Image * App::Descriptor::icon() {
|
const Image * App::Descriptor::icon() {
|
||||||
return ImageStore::ProbabilityIcon;
|
return ImageStore::ProbabilityIcon;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ public:
|
|||||||
public:
|
public:
|
||||||
I18n::Message name() override;
|
I18n::Message name() override;
|
||||||
I18n::Message upperName() override;
|
I18n::Message upperName() override;
|
||||||
|
int examinationLevel() override;
|
||||||
const Image * icon() override;
|
const Image * icon() override;
|
||||||
};
|
};
|
||||||
class Snapshot : public ::App::Snapshot {
|
class Snapshot : public ::App::Snapshot {
|
||||||
|
|||||||
@@ -14,6 +14,10 @@ I18n::Message App::Descriptor::upperName() {
|
|||||||
return I18n::Message::RegressionAppCapital;
|
return I18n::Message::RegressionAppCapital;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int App::Descriptor::examinationLevel() {
|
||||||
|
return App::Descriptor::StrictExaminationLevel;
|
||||||
|
}
|
||||||
|
|
||||||
const Image * App::Descriptor::icon() {
|
const Image * App::Descriptor::icon() {
|
||||||
return ImageStore::RegressionIcon;
|
return ImageStore::RegressionIcon;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ public:
|
|||||||
public:
|
public:
|
||||||
I18n::Message name() override;
|
I18n::Message name() override;
|
||||||
I18n::Message upperName() override;
|
I18n::Message upperName() override;
|
||||||
|
int examinationLevel() override;
|
||||||
const Image * icon() override;
|
const Image * icon() override;
|
||||||
};
|
};
|
||||||
class Snapshot : public ::App::Snapshot, public TabViewDataSource {
|
class Snapshot : public ::App::Snapshot, public TabViewDataSource {
|
||||||
|
|||||||
@@ -14,6 +14,10 @@ I18n::Message App::Descriptor::upperName() {
|
|||||||
return I18n::Message::SequenceAppCapital;
|
return I18n::Message::SequenceAppCapital;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int App::Descriptor::examinationLevel() {
|
||||||
|
return App::Descriptor::StrictExaminationLevel;
|
||||||
|
}
|
||||||
|
|
||||||
const Image * App::Descriptor::icon() {
|
const Image * App::Descriptor::icon() {
|
||||||
return ImageStore::SequenceIcon;
|
return ImageStore::SequenceIcon;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ public:
|
|||||||
public:
|
public:
|
||||||
I18n::Message name() override;
|
I18n::Message name() override;
|
||||||
I18n::Message upperName() override;
|
I18n::Message upperName() override;
|
||||||
|
int examinationLevel() override;
|
||||||
const Image * icon() override;
|
const Image * icon() override;
|
||||||
};
|
};
|
||||||
class Snapshot : public Shared::FunctionApp::Snapshot {
|
class Snapshot : public Shared::FunctionApp::Snapshot {
|
||||||
|
|||||||
@@ -12,6 +12,10 @@ I18n::Message App::Descriptor::upperName() {
|
|||||||
return I18n::Message::SettingsAppCapital;
|
return I18n::Message::SettingsAppCapital;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int App::Descriptor::examinationLevel() {
|
||||||
|
return App::Descriptor::StrictExaminationLevel;
|
||||||
|
}
|
||||||
|
|
||||||
const Image * App::Descriptor::icon() {
|
const Image * App::Descriptor::icon() {
|
||||||
return ImageStore::SettingsIcon;
|
return ImageStore::SettingsIcon;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ public:
|
|||||||
public:
|
public:
|
||||||
I18n::Message name() override;
|
I18n::Message name() override;
|
||||||
I18n::Message upperName() override;
|
I18n::Message upperName() override;
|
||||||
|
int examinationLevel() override;
|
||||||
const Image * icon() override;
|
const Image * icon() override;
|
||||||
};
|
};
|
||||||
class Snapshot : public ::App::Snapshot {
|
class Snapshot : public ::App::Snapshot {
|
||||||
|
|||||||
@@ -14,6 +14,10 @@ I18n::Message App::Descriptor::upperName() {
|
|||||||
return I18n::Message::SolverAppCapital;
|
return I18n::Message::SolverAppCapital;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int App::Descriptor::examinationLevel() {
|
||||||
|
return App::Descriptor::StrictExaminationLevel;
|
||||||
|
}
|
||||||
|
|
||||||
const Image * App::Descriptor::icon() {
|
const Image * App::Descriptor::icon() {
|
||||||
return ImageStore::SolverIcon;
|
return ImageStore::SolverIcon;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ public:
|
|||||||
public:
|
public:
|
||||||
I18n::Message name() override;
|
I18n::Message name() override;
|
||||||
I18n::Message upperName() override;
|
I18n::Message upperName() override;
|
||||||
|
int examinationLevel() override;
|
||||||
const Image * icon() override;
|
const Image * icon() override;
|
||||||
};
|
};
|
||||||
class Snapshot : public ::App::Snapshot {
|
class Snapshot : public ::App::Snapshot {
|
||||||
|
|||||||
@@ -14,6 +14,10 @@ I18n::Message App::Descriptor::upperName() {
|
|||||||
return I18n::Message::StatsAppCapital;
|
return I18n::Message::StatsAppCapital;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int App::Descriptor::examinationLevel() {
|
||||||
|
return App::Descriptor::StrictExaminationLevel;
|
||||||
|
}
|
||||||
|
|
||||||
const Image * App::Descriptor::icon() {
|
const Image * App::Descriptor::icon() {
|
||||||
return ImageStore::StatIcon;
|
return ImageStore::StatIcon;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ public:
|
|||||||
public:
|
public:
|
||||||
I18n::Message name() override;
|
I18n::Message name() override;
|
||||||
I18n::Message upperName() override;
|
I18n::Message upperName() override;
|
||||||
|
int examinationLevel() override;
|
||||||
const Image * icon() override;
|
const Image * icon() override;
|
||||||
};
|
};
|
||||||
class Snapshot : public ::App::Snapshot, public TabViewDataSource {
|
class Snapshot : public ::App::Snapshot, public TabViewDataSource {
|
||||||
|
|||||||
@@ -27,7 +27,12 @@ public:
|
|||||||
public:
|
public:
|
||||||
virtual I18n::Message name();
|
virtual I18n::Message name();
|
||||||
virtual I18n::Message upperName();
|
virtual I18n::Message upperName();
|
||||||
|
virtual int examinationLevel();
|
||||||
virtual const Image * icon();
|
virtual const Image * icon();
|
||||||
|
|
||||||
|
const int NoExaminationLevel = 0;
|
||||||
|
const int BasicExaminationLevel = 1;
|
||||||
|
const int StrictExaminationLevel = 2;
|
||||||
};
|
};
|
||||||
class Snapshot {
|
class Snapshot {
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -13,6 +13,10 @@ I18n::Message App::Descriptor::upperName() {
|
|||||||
return (I18n::Message)0;
|
return (I18n::Message)0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int App::Descriptor::examinationLevel() {
|
||||||
|
return App::Descriptor::NoExaminationLevel;
|
||||||
|
}
|
||||||
|
|
||||||
const Image * App::Descriptor::icon() {
|
const Image * App::Descriptor::icon() {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user