1
0
mirror of git://projects.qi-hardware.com/gmenu2x.git synced 2024-07-15 09:23:11 +03:00
Commit Graph

223 Commits

Author SHA1 Message Date
Paul Cercueil
9263c782e7 Drop GP2X platform support.
The GP2X build was unused and totally broken.
2012-06-14 23:45:57 +02:00
Paul Cercueil
374371c1d2 Removed unused (and broken) TV-out feature. 2012-06-14 22:53:50 +02:00
Paul Cercueil
bc2b5d51ed Removed unused function GMenu2X:setGamma() 2012-06-14 20:14:19 +02:00
Paul Cercueil
c2576d418b Read the credits from the "about.txt" file.
The credits have also been updated.
2012-04-27 17:42:09 +02:00
Paul Cercueil
e6ca072c46 Added a "show console" link parameter (Dingux build only). 2012-04-13 19:21:49 +02:00
Paul Cercueil
7687212b4e Removed the "wrapper" feature.
It is up to the system to restart GMenu2X when the application exits.
2012-04-13 18:12:30 +02:00
Maarten ter Huurne
8f57afcf53 Explicitly convert 32-bit integers to 16-bit.
GCC 4.7.0 warns that C++11 considers doing this implicitly ill-formed.
2012-04-10 23:01:16 +02:00
Maarten ter Huurne
57ad81e3df Merged LinkAction class into its base class.
LinkApp now calls its launch method via the delegate mechanism instead of
via an overridden virtual method. This should make it easier to move the
launch method out of LinkApp and into the GMenu2X main class.
2012-03-24 11:57:21 +01:00
Paul Cercueil
a0b9fc026b Fix the filename for the user-specified input conf file. 2012-01-23 12:29:58 +01:00
Maarten ter Huurne
d90ed635be Removed per-app gamma setting.
This functionality was half-removed already: some code missing, other
essential parts commented out.

I don't see the point of this either: RGB graphics are created for a certain
gamma value; if that differs from the screen gamma it is up to the application
to do something about it: gamma correct the graphics and/or change the screen
gamma. It doesn't make sense to make this user configurable.
2011-12-23 15:39:53 +01:00
Maarten ter Huurne
1ad6b2f25a Made GMenu2X::ts private.
Pass Touchscreen reference to constructors instead of pulling it from
the GMenu2X class.
2011-12-23 14:03:05 +01:00
Maarten ter Huurne
944ab86f9c Cleanup of touch screen code.
Initialize in constructor and clean up in destructor instead of having separate init() and deinit() methods.
Don't close file descriptor if open failed (ts_fd == -1).
Renamed initialized() to available(), since it tests whether the touch screen was found, not whether an initialization was attempted.
Improved code layout and minor other cleanups.
2011-12-23 12:30:15 +01:00
Ayla
c7af4b1aea Removed per-application volume setting.
The volume should not depend of the application which is in use.
2011-11-19 14:47:55 +01:00
Xiangfu Liu
5d6dcfb2bf update nanonote backlight to new driver 2011-11-10 15:05:37 +08:00
Xiangfu Liu
1cd60895d5 use the contrast for brightness in nanonote 2011-11-10 14:59:45 +08:00
Maarten ter Huurne
cf8ebbca5e gmenu2x.cpp: Re-ordered includes.
Put our own header includes before system includes, to avoid masking missing
system includes in our own headers.
2011-10-23 17:32:46 +02:00
Maarten ter Huurne
f28e4f6d89 Minimized gmenu2x.h.
Everything that does not need to be shared was moved to gmenu2x.cpp.
2011-10-23 17:27:29 +02:00
Maarten ter Huurne
aea1c44020 utilities: Replace min/max functions by the versions from STL. 2011-10-23 17:00:23 +02:00
Maarten ter Huurne
a01d892eb6 More header cleanups.
This time the focus was on removing namespace imports from headers.
2011-10-23 16:43:56 +02:00
Maarten ter Huurne
33e7f1ef56 cpu: Include header instead of repeating function declaration. 2011-10-23 15:24:35 +02:00
Maarten ter Huurne
315bf0a180 InputManager: C++-style type definitions.
There is no need to typedef enums and structs in C++.
Put types defined by InputManager inside the class namespace.
Changed type names to CamelCase.
2011-10-23 09:04:12 +02:00
Maarten ter Huurne
e73a8d06ea Removed per-application brightness setting.
The desired backlight level depends on the amount of light coming in from
the environment, not on the application that is run. Setting the brightness
when launching an application discards what is probably the right value
for this location (indoor/outdoor) and time of day. So we decided that this
is not a desirable feature and therefore removed it.
2011-09-23 01:51:53 +02:00
Maarten ter Huurne
7a978222b8 Use existing brightness value instead of overriding it. 2011-09-23 01:36:56 +02:00
Maarten ter Huurne
84ec66c7ce Minor cleanup: better usage of fscanf.
Instead of having fscanf() read into a string buffer (with the risk of
overflowing it if sysfs returns an unexpectedly long string) and converting
the value to integer with atoi() afterwards, just use fscanf() to read
an integer.
2011-09-23 01:23:53 +02:00
Maarten ter Huurne
799bb13f0f Minor cleanup: group handle init code together. 2011-09-23 01:01:57 +02:00
Maarten ter Huurne
0acbd35fb4 Corrected name of USB power supply device.
As far as I can see in the 3.0 kernel sources, both the Dingoo and
the NanoNote use "usb" in lower case.
2011-09-23 00:57:27 +02:00
Maarten ter Huurne
53a73cabc7 Call deinit() method on exit.
This prevents file descriptors to sysfs files from staying open as the
selected application is executed.
2011-09-23 00:48:13 +02:00
Maarten ter Huurne
b997485859 Backlight: use different sysfs name for NanoNote and Dingoo.
Fixes backlight control on Dingoo.
2011-09-23 00:38:43 +02:00
Maarten ter Huurne
03ea679a1d Corrected capitalization of megahertz.
"Mhz" -> "MHz"
2011-09-19 16:33:19 +02:00
Maarten ter Huurne
8d04cf1064 Removed one last occurrence of hardcoded minimum CPU frequency.
Well, I hope it was really the last one now.
2011-09-19 16:26:42 +02:00
Maarten ter Huurne
a014a331f4 Put platform specific defaults in systemwide gmenu2x.conf.
It is simpler to maintain them there instead of in the code.
2011-09-19 01:12:34 +02:00
Maarten ter Huurne
19064b4c4a Work around lack of vsynced page flipping in OpenDingux kernel. 2011-09-18 21:16:12 +02:00
Maarten ter Huurne
41650aaad7 Use 16 bpp by default on the Dingoo.
Other platforms keep using 32 bpp.
2011-09-18 18:42:53 +02:00
Maarten ter Huurne
d354eb85a4 Improved CPU frequency control.
The maximum frequency for applications was set to 430 MHz before,
while some Dingoos can handle higher frequencies. Now the limit is set to
the theoretical maximum frequency of 500 MHz.

For the menu itself the maximum frequency is set to a safer 408 MHz,
to avoid over-eager users from putting their system in an unusable state
that is difficult to recover from.

Also the frequency settings are now done in 24 MHz increments, to match
the limitations of the current JZ4740 kernel. Note that only new entries
are rounded to 24 MHz multiples, existing entries stay as they are.
2011-09-18 18:27:03 +02:00
Ayla
cca367745b Dingux port: The SD card root is now hardcoded to /boot for the getDiskFree() function only.
That function was not working as CARD_ROOT does not necessarily point to the mount point of a filesystem.
2011-09-18 12:42:08 +02:00
Ayla
759eefd676 The files "a.png" and "b.png" have been renamed to "cancel.png" and "accept.png". 2011-09-18 03:40:33 +02:00
Ayla
16b050be05 Modified the key shortcuts for the small popups (deleting a link...). 2011-09-18 03:33:10 +02:00
Ayla
6ac012348d Disactivate the binding of the app's manual on the 'Y' button. 2011-09-15 11:33:46 +02:00
Ayla
5f69930d07 The contextual menu now features a "show manual" entry. 2011-09-15 11:18:07 +02:00
Ayla
03a26a859b Dingoo port: The help menu now displays help for dingoo's controls. 2011-09-04 03:02:17 +02:00
Ayla
9768a74d07 The conf file does not need to be saved on exit. 2011-09-04 02:37:10 +02:00
Ayla
fca8c8e8a1 Create the powersaver instance on demand and destroy it when not needed. 2011-08-17 00:46:11 +02:00
Ayla
bffef7cfea GMenu2X does not need to init the audio subsystem of SDL. 2011-08-16 02:18:09 +02:00
Ayla
e282f8a55d Enable the SDL timer subsystem only if the backlight timeout is enabled. 2011-08-16 02:17:21 +02:00
Ayla
4fd4b234dc Set card root to /media by default for the Dingux port. 2011-08-11 03:42:18 +02:00
Ayla
3d3e0fa566 Read config file(s) present on both system and user-specific directories. 2011-08-11 03:40:36 +02:00
Ayla
7f08e854ea Shorted a too long caption on the contextual menu. (2) 2011-08-08 23:34:43 +02:00
Ayla
5b49bf0afb Shorted a too long caption on the contextual menu. 2011-08-08 17:40:27 +02:00
Ayla
5f77e3baf7 Cleaned GP2X-specific code that was built on all platforms.
There was a lot of gp2x-specific code which was built for
all platform. For instance, the code was compiled for all
the platforms with the constant "TARGET_GP2X" defined.
This obviously had to be fixed.
2011-07-29 01:13:35 +02:00
Ayla
f6c456f35b GMenu2X now won't clear the framebuffer on exit.
Instead, the loading screen image will remain even when GMenu2X is not running anymore.

This require a patched SDL; the patch can be found at
https://github.com/mthuurne/opendingux-buildroot/blob/opendingux-2010.11/package/sdl/sdl-fbcon-clear-onexit.patch
2011-07-28 01:48:12 +02:00
Ayla
81a607c36e Fixed a good number of memory leaks.
The objects created with "new" were destroyed with "free()",
instead of "delete"; as a result, the destructors were never called.
2011-07-20 13:43:25 +02:00
Ayla
3a85cabf37 The SurfaceCollection won't load the files selection.png, bottombar.png or topbar.png from the Default skin if they are missing in the current skin. 2011-07-11 18:16:38 +02:00
Ayla
00d8a04e00 Removed a bug where the Default skin was chosen even if another (working) skin was defined on the config file. 2011-07-11 12:39:31 +02:00
Ayla
0993a48eca Add a function which unlocks the virtual terminal before and after each execution of a binary.
It ensures that GMenu2X can restart after a SDL program segfaulted or crashed.
It also allow GMenu2X to exit without clearing the screen, so that the "loading" screen appears
until the launched binary starts using the framebuffer.
2011-07-11 11:27:38 +02:00
Ayla
55dad4171d Merge branch 'install_locations'
Conflicts:
	configure.in
2011-07-11 11:19:18 +02:00
Sergey Kukunin
28fe39ce54 Fix segmentation fault when try show Manual on Explorer or other service apps 2011-06-11 02:41:52 +03:00
kyak
6646525731 Zero-pad hex values when saving config
writeSkinConfig() had a very naughty bug when RGBA values were written
to config file unpadded. This lead to a problem that, for example,
0x00000080 was written as 0x00080 in config file (Somehow gmenu2x
reads and re-saves config on selection). This, in turn, led
to problem when reading skin config file in strtorgba function,
because it parses the color string in token of two symbols
(substr(0,2) and etc).
2011-06-06 11:38:26 +04:00
Maarten ter Huurne
8a81837c04 Surface: Make pixel format conversion explicit.
Instead of having the copy constructor convert to display format, the new
copy constructor preserves the pixel format and a separate method was
introduced to convert surfaces to display format.

The code was made more robust as well: it should no longer crash if the
wallpaper cannot be loaded.
2011-06-03 11:46:36 +02:00
Maarten ter Huurne
7861e07eb0 Surface: Made "raw" field private.
I cheated a bit by declaring ASFont as friend, but all other outside
access now happens via methods.

I removed the "saveScreenshot" method since the code calling it is
commented out and I never heard anyone complain about missing this
feature.
2011-06-02 22:44:04 +02:00
Maarten ter Huurne
52f4686e4a Surface: Load image with factory method instead of constructor.
If loading fails, the factory method returns NULL, while previously the
constructor would create a Surface object with a NULL "raw" field.
However, since most of the methods dereference "raw" without checking,
such a Surface would likely crash the application when used.
2011-06-02 22:09:03 +02:00
Maarten ter Huurne
0a9229ff3f Surface: Use the destructor as intended.
There is no reason to have an explicit free() method instead of just
destructing the Surface object and doing cleanup in the destructor.
2011-06-02 18:15:15 +02:00
Maarten ter Huurne
7dac306c16 Surface: Removed fake double buffering.
Use real double buffering instead.

I checked the SDL code and if the hardware cannot provide double buffering
it will use a shadow surface to ensure that a frame is not displayed until
it has been fully painted.

Also disable mouse cursor before opening the output surface. The reason it
was disabled after the surface was opened is that SDL on GP2X has a bug.
However, this means the cursor is visible for a short time during startup
which looks ugly.
2011-06-02 17:59:26 +02:00
Ayla
ef4b012026 Merge branch 'master' of projects.qi-hardware.com:gmenu2x into install_locations
Conflicts:
	data/platform/nanonote/sections/terminals/ash
	src/gmenu2x.cpp
	src/surface.cpp
2011-06-02 12:16:26 +02:00
Maarten ter Huurne
5b6d922f11 Fixed bug: wallpaper does not use alpha channel.
The unnecessary alpha channel might harm performance but is not a big deal.
However, the fact that the alpha flag (bool) is somehow automatically
converted by C++ into a skin name (string) causes the entire screen to
stay black.

The black screen was fixed by removing the alpha flag.
For optimum blitting performance, the wallpaper surface is then converted
to the pixel format of the frame buffer.

Bug was introduced in 52c89d6005.
2011-06-02 07:13:59 +02:00
Sergey Kukunin
240286df11 Add powersaver class 2011-06-02 06:32:39 +03:00
Maarten ter Huurne
e4b71138b9 ASFont: removed precalculation of half heights.
There is no point in precalculating something so cheap to recalculate.
Also, the majority of uses was to compensate for passing the wrong alignment argument.
2011-05-10 00:31:45 +02:00
Ayla
3998e19e49 The log.txt file will now be saved on the user-specific directory. 2011-05-09 19:21:14 +02:00
Maarten ter Huurne
ec5d426d83 ASFont: moved SFontPlus code into ASFont source files.
This is in preparation of merging the classes.
2011-05-09 14:25:16 +02:00
Maarten ter Huurne
a35a7e2c35 Introduced enums for text alignment in the ASFont class. 2011-05-09 05:17:25 +02:00
Ayla
6cb7ce1c0b Fixed the renameSection() and deleteSection() functions to use the new directories. The sections can now be renamed and deleted. 2011-04-14 12:08:10 +02:00
Ayla
6c97139113 The FileLister won't list a file if a previous one has the same file name (without path).
This is useful when the files/directories lists are not cleared; then it is possible to define priorities between the files.
For instance, the skin "Default" will be shown only once, even if the directory "Default" exists both in the system and the user directories.
As the skin and translation loading functions does check both directories, there is no problem in doing that.
2011-04-14 11:16:16 +02:00
Ayla
f10bb60717 Merge branch 'master' into install_locations 2011-04-12 13:25:00 +02:00
Ayla
ba9fef5c42 The locale configuration will now be saved. 2011-04-12 13:24:35 +02:00
Ayla
12a7fe4e95 The user skin directories were not created when saving the skin.conf file; Thus it was never saved. 2011-04-12 10:19:00 +02:00
Ayla
f4b03108c1 The "configure skin" will now list all the skins present on the system and the user-specific directories. 2011-04-12 10:16:28 +02:00
Ayla
c18c230f7a The translations can now be located on the system directory, or on the user-specific directory.
The language selector on gmenu2x's settings will list the languages present on both directories.
2011-04-12 09:59:32 +02:00
Ayla
301e16e8ee Define a default wallpaper path, that will be chosen if no wallpaper is defined on the config. 2011-04-03 11:49:00 +02:00
Ayla
ead9706ffd The skin.conf file will now be loaded/written from/to the user-specific directory.
It will also be loaded from the system dir if missing on the user-specific directory
(For instance, when using a default theme of gmenu2x).
2011-03-30 16:15:09 +02:00
Ayla
cf42f7d192 The gmenu2x.conf file is now located on the user-specific directory.
If inexistant, it will be written as soon as the configuration is changed.
2011-03-30 16:15:09 +02:00
Ayla
83d6b954fb The input.conf file will now be loaded from the user-specific directory or if missing, from the system directory. 2011-03-30 16:15:08 +02:00
Ayla
8693dff072 Added a static function GMenu2X::getHome() that returns GMenu2X's user-specific directory (usually ~/.gmenu2x). 2011-03-30 16:14:03 +02:00
Xiangfu Liu
be9c6b9220 update the brightness file path to NanoNote
Signed-off-by: Xiangfu Liu <xiangfu@sharism.cc>
2010-11-17 17:26:34 +08:00
Ayla
69c702f88c When adding a new link, the default brightness is now -1.
Note that the brightness values between -1 and 5 won't be accepted, and will be set back to 5.
2010-10-13 22:15:55 +02:00
Ayla
563cb34a89 Rewrote the whole input system.
Gmenu2X will no longer eat 100% CPU ;)
2010-09-17 22:34:26 +02:00
Ayla
c6c3dfe8e0 Added some signal handlers, so that gmenu2x will exit correctly if a TERM signal occurs or after a segfault. 2010-09-17 22:32:41 +02:00
Ayla
7c9364780b Replaced every message output by calls to the log macros. 2010-09-17 22:31:09 +02:00
bartbes
5c05348ba9 Automatically switches CARD_ROOT to / when CARD_ROOT doesn't exist 2010-09-01 22:50:43 +02:00
bartbes
cf9628a4cc More fixed for when CARD_ROOT doesn't exist 2010-09-01 22:11:24 +02:00
bartbes
6381674f57 Fixed segfault when CARD_ROOT didn't exist & added _CARD_ROOT
compile-time define to set CARD_ROOT

Note that you shouldn't set CARD_ROOT (or _CARD_ROOT) to /, because that
might mess things up.
2010-09-01 17:37:27 +02:00
bartbes
e9941dc4fd Now only allows file browsing up to /, CARD_ROOT is /card/ 2010-08-03 17:49:34 +02:00
bartbes
ba9af53c21 Changed the file browser to use / as root and added ability to see extensionless files (i.e. executables) 2010-08-03 17:32:54 +02:00
Maarten ter Huurne
b54a595e26 Improved conversion from color enum to string and vice versa.
The stringToColor() and colorToString() methods were changed into file-scope functions, so they can be inlined by the compiler.
The colorNames array is now used for lookups in both directions, removing duplication of the color names.
The missing "selectionBg" entry was added to the colorNames array.
2010-07-28 16:15:52 +02:00
Maarten ter Huurne
4ddc189847 Use tr1::unordered_map instead of google::dense_hash_map in class GMenu2X.
This reduces the binary size by about 260K.
2010-07-28 03:31:41 +02:00
Maarten ter Huurne
0ce743426a Give SettingsDialog a direct reference to the Touchscreen and InputManager objects instead of fetching them from the GMenu2X object. 2010-07-27 23:09:16 +02:00
Maarten ter Huurne
d03dbea9bd Give InputDialog a direct reference to the Touchscreen and InputManager objects instead of fetching them from the GMenu2X object. 2010-07-27 22:56:03 +02:00
Maarten ter Huurne
8032d96a17 Converted public fields of FileLister to private. 2010-07-27 21:41:35 +02:00
Maarten ter Huurne
0cd6b8264c Converted public fields of LinkApp to private.
Although exposing a read/write reference to a private field is not much better than having a public field.
Well, at least we are explicit about the nasty stuff now.
2010-07-27 21:26:02 +02:00
Maarten ter Huurne
8a9aac028b Converted public fields of Menu to private. 2010-07-27 21:12:15 +02:00
Maarten ter Huurne
8f98a4b135 Converted public fields of MessageBox to private. 2010-07-27 20:59:28 +02:00
Maarten ter Huurne
40ead3b642 Converted public fields of InputDialog to private. 2010-07-26 05:58:06 +02:00
Maarten ter Huurne
b78ffa704a Converted public fields of Touchscreen to private. 2010-07-26 05:45:56 +02:00
Maarten ter Huurne
767c131b1d Adapted backlight setting to new kernel interface.
Updated path to use /sys instead of /proc/jz.
Avoid leading zeroes, since sysfs interprets those as octal numbers.
2010-07-12 02:03:50 +02:00
Maarten ter Huurne
28a041ea80 Add constant for SD card root.
In the future, this should be part of a device abstraction, but having a single constant is an improvement over having duplicated string literals.
2010-07-04 03:19:52 +02:00
Maarten ter Huurne
7fb67ba1cc Set CPU frequency through sysfs.
No more poking into registers via /dev/mem.
If there is no cpufreq support in the kernel, when trying to change the frequency a message will be printed on stderr that the required sysfs file cannot be opened.
2010-07-04 03:04:42 +02:00
Ulrich Hecht
ac2fa73962 don't waste CPU redrawing the screen when there's no input
Signed-off-by: Ulrich Hecht <ulrich.hecht@gmail.com>
2010-06-20 18:36:42 +02:00
Maarten ter Huurne
c52b239bc0 Fixed intendation. 2010-06-19 05:10:19 +02:00
Maarten ter Huurne
3efa602af0 Do not run the main loop inside the GMenu2X constructor, but in a method. 2010-06-19 03:50:23 +02:00
Maarten ter Huurne
9f05aaf6b9 Fixed most warnings. 2010-06-19 03:15:20 +02:00
Maarten ter Huurne
988439605d Fixed display of card size and free space for numbers over 4 GB.
The result was stored in a 64-bit integer, but the computation was done in 32 bits...
2010-06-18 03:16:44 +02:00
Maarten ter Huurne
d3b094e1b5 Removed spaces at end of lines in source files.
No actual content was changed in this commit.
2010-06-18 03:12:58 +02:00
Lars-Peter Clausen
6da573f303 Move methods only used by dialogs from the GMenu2x class to a common base class
for all dialog classes.
2010-05-05 14:35:52 +02:00
Lars-Peter Clausen
09999edc27 Initalize buffer. 2010-05-03 23:56:15 +02:00
Lars-Peter Clausen
3b2538cfaf Add ButtonBox widget to simplify managing buttons in the bottombar. Also fixes some memleaks where buttons were left unfreed. 2010-05-03 22:21:36 +02:00
Lars-Peter Clausen
8b862b8398 Unify filedialog and browsedialog code 2010-05-03 19:58:28 +02:00
Lars-Peter Clausen
431e88e021 Use "/card" instead of "/card/gmenu2x" for disk stats 2010-05-03 14:21:00 +02:00
Lars-Peter Clausen
475fdb74b9 Fix topbar icon rects 2010-05-02 20:17:27 +02:00
Lars-Peter Clausen
7fd1ab032a Use a simple array instead of a hashmap for the colors. 2010-05-02 19:53:06 +02:00
Lars-Peter Clausen
40a26e1a9c pass strings by reference where possible 2010-05-02 14:38:16 +02:00
Lars-Peter Clausen
667fb05a35 Kill float and double 2010-05-01 13:20:47 +02:00
Lars-Peter Clausen
8a87e8e1ab Don't do this. It's pure evil. 2010-05-01 12:58:24 +02:00
Mirko Lindner
745321edf9 remove debug output
Signed-off-by: Mirko Lindner <mirko@sharism.cc>
2010-02-22 10:22:36 +01:00
Mirko Lindner
a1eb23eec1 set correct directory for disk check
Signed-off-by: Mirko Lindner <mirko@sharism.cc>
2010-02-15 00:03:31 +01:00
Mirko Lindner
cddcd72e33 initial commit - needs clean-up
Signed-off-by: Mirko Lindner <mirko@sharism.cc>
2010-02-04 12:33:47 +01:00