ExpressionInfo:
- No longer stores an explicit result type (this is inferred from
evaluation of the expression itself now).
- Introduce class ExpressionResult for returning the result of an
expression computation. This can currently take the form of either
a primitive value, or a value node object.
- Adjust UserInterfaceListener and ExpressionInfo::Listener to take
the above changes into account, and correspondingly adjust all
callers/listeners.
CLanguageExpressionEvaluator:
- Introduce child class Operand. This subsumes the functionality that
was previously in the separate Number class, and can represent a
primitive value, a value node or a type. Also has functionality to
implicity handle type promotion/inferring when performing calculations
between operands.
- Adjust expression parser to operate in terms of Operands rather than
Numbers. This allows a number of improvements, most notably that an
expression can now return a value node as a result rather than only
a primitive number. This capability isn't yet fully used, but paves
the way for future uses such as an expression that evaluates to a data
member, a global variable, or an arbitrary pointer of a particular type.
- Various cleanups/simplifications that were possible as a result of the above
changes.
ExpressionEvaluationWindow/ExpressionPromptWindow:
- Remove type menu field, since the expression API no longer uses it.
Adding/removing expressions in the VariablesView is temporarily disabled,
pending some further rework there to properly handle the new result object.
We were using the same "no space available" message used when the first
partition starts too early. Be more specific here to make it clearer
what the problem is.
Fixes #7087.
Patch by Karvjorm. Picked only the code changes as it seems the Jamfile
changes were not needed or already done.
* Use BObjectList instead of BList
* Add some more directory constants to FindDirectory tests.
/system and /home/config would crash diskprobe because DataEditor would
be left in an incompletely initialized state.
Also fix a memory leak: fAttribute was never freed, but is allocated with
strdup.
Fixes #10428.
It turns out there are some people actually using it, mainly when
playing music. If you interrupt music, you often want to start listeing
from the start of the track again (unlike for video), so having a stop
button makes sense in that case.
As suggested on the mailing list by stippi and korli, it is important to
let the users know they can quit at any time, and it's sometimes the
only thing they can do.
This is harmless, the sequence of states ensures they would be
initialized when needed anyway, but Coverity decides otherwise.
Fixes #10131 / CID743879.
... when there are no installable disks.
The button is disabled anyway, and it is not useful to rename it. The
program can be exited by closing the window anyway, so a "Quit" button
is useless.
* F: toggle fullscreen (like tab)
* V: removed. Stopping the replay would lose the current position, and
we don't want non-undoable lossy operation on single keystrokes
* X: toggles play/pause instead of forcing play (like space)
* Alt+Shift+0/1/2/3 changes the aspecdt ratio to "raw", "default",
"4/3", "16/9".
Fixes remaining parts of #2495.
when the shift movement goes back. This behavior feels better to me,
but opinions are welcome. Tested with HaikuDepot package listview.
Noticed that CLV uses Ctrl whereas Tracker uses Alt for single item
selection.
This is based on Jalopeura's patch to #10191, however, there are some
changes.
From the patch:
* Make userlandfs use separate "interface definition" files for each
filesystem, so the netfs package can provide a configuration file
* Add a short document on how to use NetFS
* Various fixes to netfs to make it build again (volatile atomics)
* The netfs_mount script for easier use of NetFS
Additional fixes:
* Move netfs_mount and the interface description file to data/ in the
source tree
* Use strlcat instead of strcat to avoid a buffer overflow
* Some parts were already applied in previous commits