Commit Graph

1521 Commits

Author SHA1 Message Date
Matt Borgerson c02c245e0f ui: Refactor 2020-05-04 07:24:05 -07:00
Matt Borgerson b4f2267101 ui: Give default value to avoid compiler warning 2020-05-04 07:24:05 -07:00
Matt Borgerson b52cec8a28 ui: Refactor 2020-05-04 07:23:32 -07:00
Matt Borgerson 6b97fbb3ef ui: Move settings load out of constructor 2020-05-04 07:23:32 -07:00
Matt Borgerson 8baa62da00 ui: Improve compatibility dialog 2020-05-04 07:23:31 -07:00
Matt Borgerson a5ce412590 ui: Support opening homepage from app 2020-05-04 07:23:31 -07:00
Matt Borgerson f8ac9ec658 ui: Add compatibility report dialog 2020-05-04 07:23:31 -07:00
Matt Borgerson d31e10cc59 ui: Add interface to configure socket networking 2020-05-04 07:23:31 -07:00
Matt Borgerson 8e50d32213 ui: Remember UI scaling preference 2020-05-04 07:23:31 -07:00
Matt Borgerson be0c5f13cc ui: Add option to scale app UI elements 2020-05-04 07:23:31 -07:00
Matt Borgerson 80940258fe ui: Fix alpha fade out for main menu 2020-05-04 07:23:31 -07:00
Matt Borgerson 8a21065fe8 ui: Start logo animation on appearing 2020-05-04 07:23:30 -07:00
Matt Borgerson a10f24f030 input: Process events for unbound controllers 2020-05-04 07:23:30 -07:00
Matt Borgerson 60199805e6 ui: Fix crash on empty path in Cocoa file select dialog 2020-05-04 07:23:30 -07:00
Matt Borgerson bfc3783d9f ui: Mark settings dirty on change from dialog 2020-05-04 07:23:30 -07:00
Matt Borgerson d206aa8f7e ui: Use SDL to determine resource/preference base paths 2020-05-04 07:23:29 -07:00
Matt Borgerson 0cbbb9c55b ui: Remove displaychangelistener updates on window state change 2020-05-04 07:22:59 -07:00
Matt Borgerson a764c4e9af ui: Don't minimize when focus is lost in fullscreen 2020-05-04 07:22:59 -07:00
Matt Borgerson 3273e550a1 ui: Use native file selection dialogs 2020-05-04 07:22:59 -07:00
Matt Borgerson a0e1a7fa40 ui: Prefer immediate swap interval 2020-05-04 07:22:59 -07:00
Matt Borgerson c2b74a08d3 ui: Move QEMU main loop to a thread 2020-05-04 07:22:56 -07:00
Matt Borgerson 03e1d6993c ui: Add .gitattributes to force LF for shaders 2020-05-04 07:20:08 -07:00
Matt Borgerson 25e23030ec ui: Use 3rd party dirent for ImGuiFileDialog 2020-05-04 07:20:08 -07:00
Matt Borgerson 1af8c598c6 ui: Factor out gls field 2020-05-04 07:20:07 -07:00
Matt Borgerson 6bd84c9851 ui: Add header for xemu display 2020-05-04 07:20:07 -07:00
Matt Borgerson 64b1782b71 ui: Rollback ImGuiFileDialog version 2020-05-04 07:20:07 -07:00
Matt Borgerson 1edd9e3da6 ui: Add xemu ui to the Makefile 2020-05-04 07:13:17 -07:00
Matt Borgerson e8d7171fdd ui: Add initial xemu icons 2020-05-04 07:13:16 -07:00
Matt Borgerson 9851e1588c ui: Add xemu logo fragment shader 2020-05-04 07:13:16 -07:00
Matt Borgerson c5317dd6d6 ui: Add xemu custom widget rendering 2020-05-04 07:13:16 -07:00
Matt Borgerson 78d9d5aada ui: Add xemu notifications interface 2020-05-04 07:13:16 -07:00
Matt Borgerson ada87381c5 ui: Add xemu UI shader helpers 2020-05-04 07:13:16 -07:00
Matt Borgerson 630b8a0357 ui: Add xemu-QEMU monitor interface 2020-05-04 07:13:16 -07:00
Matt Borgerson 7752ed32bf ui: Add xemu settings subsystem 2020-05-04 07:13:15 -07:00
Matt Borgerson 8632c5d1fa ui: Add xemu input subsystem 2020-05-04 07:13:15 -07:00
Matt Borgerson 7c05b7c6a7 ui: Add primary xemu user interface 2020-05-04 07:13:15 -07:00
Matt Borgerson 0b738f855e ui: Add new dedicated xemu SDL display 2020-05-04 07:13:15 -07:00
Matt Borgerson 0a31c7cf28 ui: Add stb_image.h for PNG image decompression 2020-05-04 07:10:27 -07:00
Matt Borgerson be4528c0de ui: Add inih submodule 2020-05-04 07:10:27 -07:00
Matt Borgerson faf6fd088e ui: Add Dear ImGui FileDialog submodule 2020-05-04 07:10:27 -07:00
Matt Borgerson 5ce3c05316 ui: Add Dear ImGui submodule 2020-05-04 07:10:26 -07:00
Philippe Mathieu-Daudé 112c37a6a6 ui/input-linux: Do not ignore ioctl() return value
Fix warnings reported by Clang static code analyzer:

    CC      ui/input-linux.o
      ui/input-linux.c:343:9: warning: Value stored to 'rc' is never read
          rc = ioctl(il->fd, EVIOCGBIT(EV_REL, sizeof(relmap)), &relmap);
          ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ui/input-linux.c:351:9: warning: Value stored to 'rc' is never read
          rc = ioctl(il->fd, EVIOCGBIT(EV_ABS, sizeof(absmap)), &absmap);
          ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ui/input-linux.c:354:13: warning: Value stored to 'rc' is never read
              rc = ioctl(il->fd, EVIOCGABS(ABS_X), &absinfo);
              ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ui/input-linux.c:357:13: warning: Value stored to 'rc' is never read
              rc = ioctl(il->fd, EVIOCGABS(ABS_Y), &absinfo);
              ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ui/input-linux.c:365:9: warning: Value stored to 'rc' is never read
          rc = ioctl(il->fd, EVIOCGBIT(EV_KEY, sizeof(keymap)), keymap);
          ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ui/input-linux.c:366:9: warning: Value stored to 'rc' is never read
          rc = ioctl(il->fd, EVIOCGKEY(sizeof(keystate)), keystate);
          ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Reported-by: Clang Static Analyzer
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-id: 20200322161219.17757-1-philmd@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2020-03-25 09:55:03 +01:00
Philippe Mathieu-Daudé 76c51fc3af ui/curses: Move arrays to .heap to save 74KiB of .bss
We only need these arrays when using the curses display.
Move them from the .bss to the .heap (sizes reported on
x86_64 host: screen[] is 64KiB, vga_to_curses 7KiB).

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-03-16 23:02:25 +01:00
Philippe Mathieu-Daudé 80e8c2ed1c ui/curses: Make control_characters[] array const
As we only use this array as input, make it const.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-03-16 23:02:25 +01:00
Felipe Franciosi 836e1b3813 qom/object: enable setter for uint types
Traditionally, the uint-specific property helpers only offer getters.
When adding object (or class) uint types, one must therefore use the
generic property helper if a setter is needed (and probably duplicate
some code writing their own getters/setters).

This enhances the uint-specific property helper APIs by adding a
bitwise-or'd 'flags' field and modifying all clients of that API to set
this paramater to OBJ_PROP_FLAG_READ. This maintains the current
behaviour whilst allowing others to also set OBJ_PROP_FLAG_WRITE (or use
the more convenient OBJ_PROP_FLAG_READWRITE) in the future (which will
automatically install a setter). Other flags may be added later.

Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-03-16 23:02:23 +01:00
Peter Maydell 1879f241e6 ui/cocoa.m: Update documentation file and pathname
We want to stop generating the old qemu-doc.html; first we
must update places that refer to it so they instead go to
our top level index.html documentation landing page.
The Cocoa UI has a menu option to bring up the documentation;
make it point to the new top level index.html instead.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 20200228153619.9906-31-peter.maydell@linaro.org
2020-03-06 11:06:55 +00:00
Philippe Mathieu-Daudé 2945342612 ui/input-barrier: Remove superfluous semicolon
Fixes: 6105683da3
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Message-Id: <20200218094402.26625-11-philmd@redhat.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
2020-02-18 20:20:49 +01:00
Kevin Wolf fa4dcf577e qapi: Split control.json off misc.json
misc.json contains definitions that are related to the system emulator,
so it can't be used for other tools like the storage daemon. This patch
moves basic functionality that is shared between all tools (and mostly
related to the monitor itself) into a new control.json, which could be
used in tools as well.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200129102239.31435-3-kwolf@redhat.com>
[Commit message tweaked]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
2020-02-17 13:53:47 +01:00
Peter Maydell 483644c25b ui/cocoa: Drop workarounds for pre-10.12 OSX
Our official OSX support policy covers the last two released versions.
Currently that is 10.14 and 10.15.  We also may work on older versions, but
don't guarantee it.

In commit 50290c002c in mid-2019 we introduced some uses of
CLOCK_MONOTONIC which incidentally broke compilation for pre-10.12 OSX
versions (see LP:1861551). We don't intend to fix that, so we might
as well drop the code in ui/cocoa.m which caters for pre-10.12
versions as well. (For reference, 10.11 fell out of Apple extended
security support in September 2018.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200201170534.22123-1-peter.maydell@linaro.org>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2020-02-12 13:27:08 +01:00
Gerd Hoffmann 9cfca0b937 ui/gtk: implement show-cursor option
When specified just set null_cursor to NULL so we get the default
pointer instead of a blank pointer.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2020-02-12 13:25:17 +01:00