diff --git a/qt4/run/textedit.run b/qt4/run/textedit.run
index 60ce1e2c2c..5dc660bdb8 100644
--- a/qt4/run/textedit.run
+++ b/qt4/run/textedit.run
@@ -7,8 +7,12 @@ build {
init
drivers/input/ps2
drivers/pci
+ drivers/atapi
+ drivers/sd_card
drivers/framebuffer
drivers/timer
+ drivers/usb
+ server/ffat_fs
server/nitpicker
app/examples/textedit
}
@@ -32,6 +36,7 @@ set config {
+
@@ -50,6 +55,17 @@ append_if [have_spec pci] config {
+
+
+
+
+
+ }
+
+append_if [expr [have_spec pl180] || [have_spec omap4]] config {
+
+
+
}
append_if [have_spec vesa] config {
@@ -58,6 +74,19 @@ append_if [have_spec vesa] config {
}
+append_if [have_spec omap4] config {
+
+
+
+ }
+
+append_if [expr ![have_spec ps2] && [have_spec usb]] config {
+
+
+
+
+ }
+
append_if [have_spec pl11x] config {
@@ -68,7 +97,7 @@ append_if [have_spec ps2] config {
- }
+ }
append config {
@@ -79,8 +108,22 @@ append config {
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
}
@@ -97,29 +140,47 @@ set boot_modules {
init
timer
nitpicker
+ ffat_fs
textedit
dejavusans.lib.so
freetype.lib.so
ld.lib.so
libc.lib.so
libc_lock_pipe.lib.so
+ libc_fs.lib.so
libm.lib.so
libpng.lib.so
jpeg.lib.so
qt_core.lib.so
qt_gui.lib.so
zlib.lib.so
+ usb_drv
}
# platform-specific modules
lappend_if [have_spec linux] boot_modules fb_sdl
lappend_if [have_spec pci] boot_modules pci_drv
+lappend_if [have_spec pci] boot_modules atapi_drv
lappend_if [have_spec vesa] boot_modules vesa_drv
lappend_if [have_spec ps2] boot_modules ps2_drv
lappend_if [have_spec pl11x] boot_modules pl11x_drv
+lappend_if [have_spec omap4] boot_modules sd_card_drv
+lappend_if [have_spec omap4] boot_modules omap4_fb_drv
+lappend_if [have_spec omap4] boot_modules usb_drv
build_boot_image $boot_modules
+set disk_image "bin/test.hda"
+set cmd "dd if=/dev/zero of=$disk_image bs=1024 count=65536"
+puts "creating disk image: $cmd"
+catch { exec sh -c $cmd }
+
+set cmd "mkfs.vfat -F32 $disk_image"
+puts "formating disk image with vfat file system: $cmd"
+catch { exec sh -c $cmd }
+
+append_if [have_spec pci] qemu_args " -hda $disk_image -boot order=d "
+
append qemu_args " -m 128"
run_genode_until forever
diff --git a/qt4/src/app/examples/textedit/target.mk b/qt4/src/app/examples/textedit/target.mk
index d2be91ee46..4f80db22a5 100644
--- a/qt4/src/app/examples/textedit/target.mk
+++ b/qt4/src/app/examples/textedit/target.mk
@@ -12,3 +12,5 @@ vpath % $(QMAKE_PROJECT_PATH)
include $(QT4_REP_DIR)/src/app/tmpl/target_defaults.inc
include $(QT4_REP_DIR)/src/app/tmpl/target_final.inc
+
+LIBS += libc_fs
diff --git a/qt4/src/lib/qt4/textedit_example.patch b/qt4/src/lib/qt4/textedit_example.patch
index 4ec3faf618..030f9e840b 100644
--- a/qt4/src/lib/qt4/textedit_example.patch
+++ b/qt4/src/lib/qt4/textedit_example.patch
@@ -1,13 +1,42 @@
diff --git a/demos/textedit/main.cpp b/demos/textedit/main.cpp
--- a/demos/textedit/main.cpp
+++ b/demos/textedit/main.cpp
-@@ -48,7 +48,8 @@
+@@ -39,16 +39,37 @@
+ **
+ ****************************************************************************/
++/* Genode includes */
++#include
++
++/* Qt4 includes */
+ #include "textedit.h"
+ #include
+
++/* disable "not implemented yet" messages */
++extern "C" void _sigprocmask() { }
++extern "C" void sigprocmask() { }
++
+ int main( int argc, char ** argv )
+ {
+ Q_INIT_RESOURCE(textedit);
+
++ unsigned int x = 300;
++ unsigned int y = 0;
++ unsigned int w = 700;
++ unsigned int h = 700;
++
++ try { Genode::config()->xml_node().attribute("xpos").value(&x); } catch (...) { }
++ try { Genode::config()->xml_node().attribute("ypos").value(&y); } catch (...) { }
++ try { Genode::config()->xml_node().attribute("width").value(&w); } catch (...) { }
++ try { Genode::config()->xml_node().attribute("height").value(&h); } catch (...) { }
++
QApplication a( argc, argv );
TextEdit mw;
- mw.resize( 700, 800 );
-+ mw.move( 300, 0 );
-+ mw.resize( 700, 700 );
++
++ mw.move(x, y);
++ mw.resize(w, h);
++
mw.show();
return a.exec();
}