Commit Graph

49462 Commits

Author SHA1 Message Date
Stephan Aßmus
5aabe5e88f TextDocumentTest: Give the text view initial focus. 2014-01-22 00:15:53 +01:00
Stephan Aßmus
5cad1e1cc9 TextDocumentLayout: Fixed finding the right paragraph for an offset.
It was not possible to place the cursor at the beginning of a paragraph
once they actually contain the \n at the end.
2014-01-22 00:14:09 +01:00
Stephan Aßmus
41889b59f3 ParagraphLayout: Refactored _GetEmptyLayoutBounds().
Even for an empty Paragraph, some meaningful bounds can be computed when
it contains an empty TextSpan. However, this is not yet achieved, since
no LineInfo is generated for such an empty Paragraph.
2014-01-22 00:12:11 +01:00
Stephan Aßmus
b3299ecd73 Paragraph: Added simple PrintToStream(). 2014-01-22 00:10:49 +01:00
Stephan Aßmus
0e36794492 MarkupParser: Append \n to each paragraph. 2014-01-22 00:09:55 +01:00
Stephan Aßmus
f944b405c4 TextEditor: Comment on up/down behavior for first/last line. 2014-01-21 23:02:19 +01:00
Stephan Aßmus
0cd95bf315 TextDocumentView: Don't blink cursor when not in focus. 2014-01-21 23:01:56 +01:00
Adrien Destugues
8e7d9c7245 Attempt to fix test_appserver build again.
There seem to be a problem with the architecture, when building for an
x86_gcc2 system things are generated in libbe_test/x86, and then fail
with a lot of undefined references. Help welcome.
2014-01-21 17:17:58 +01:00
Adrien Destugues
77bf4d8d51 Style fixes. 2014-01-21 13:59:35 +01:00
Adrien Destugues
2585a0c5c9 Fix build. 2014-01-21 12:31:28 +01:00
Adrien Destugues
e1a301151f Introduce DrawingContext View superclass
In order to properly implement ClipToPicture in BView, we need to render
a Picture to a Bitmap. This is currently done client-side, but the
overhead for this (creating a BBitmap that accepts views, including a
window thread, adding a view to it, and rendering the picture to the
view, then sending the result to app_server) isn't acceptable. Moreover,
the bitmap drawn this way is clipped to the view size, and the clipping
won't work when the view is scaled or translated. So, we need to move
the Bitmap creation server-side.

However, app_server currently have no means of doing this. Factor out the
relevant parts of View: a DrawingState stack with PushState/PopState, a
DrawingEngine, and a ConvertToScreen transformation. Another implementation
of the DrawingContext will allow us to also draw a picture directly using
a Painter and low-level pixel buffer, in a format suitable for use as an
AGG alpha mask.
2014-01-21 12:05:59 +01:00
Pawel Dziepak
ae81c98aaf intel_cstates: Fix integer division inaccuracy
Integer division could have result in an out of bound substate.
2014-01-21 04:18:20 +01:00
Pawel Dziepak
d01fa1ffe3 scheduler: Always update core load at thread reenqueue 2014-01-21 03:50:26 +01:00
Alexander von Gluck IV
bcbd6e6cfe intel_extreme: Fix crash of driver on multiple open
* open_count only got raised on initial open,
  subsequent opens didn't increment the counter
  thus when they exited the driver unloaded
  causing app_server to crash
* Thanks to hamishm for pointing out that
  the if checks the pre-increment number
* Resolves #10452
2014-01-20 20:51:46 -06:00
Alexander von Gluck IV
7b59f29e9e radeon_hd: Fix crash of driver on multiple open
* open_count only got raised on initial open,
  subsequent opens didn't increment the counter
  thus when they exited the driver unloaded
  causing app_server to crash
* Thanks to hamishm for pointing out that
  the if checks the pre-increment number
* Resolves #10452
* Add a kdl debug command to radeon_hd
2014-01-20 20:51:46 -06:00
Rene Gollent
701a5d6b79 Resolve #10435.
Adjust Database{Location} to only attempt to create a mimetype when
actually necessary, and fail otherwise if a writable version doesn't yet
exist. Correspondingly, adjust callers such as
DatabaseLocation::DeleteAttribute(). Fixes a problem where a caller asking
to perform a mimeset could fail early due to SetSupportedTypes() attempting
to update the read-only mime database entry supplied by a package, and
consequently most of the mimeset operations would be skipped.
2014-01-20 20:52:32 -05:00
Humdinger
d56476656e Added menu item "Move to Trash"
Changed shortcut of "Show tool bar" to ALT+B.
Assigned shortcut ALT+T zu "Move to Trash", having the same as
e.g. Tracker and MediaPlayer playlist.
DELETE still works as alternative shortcut (if there's an active
selection, it will get unselected instead, as before).
2014-01-20 14:54:22 +01:00
Adrien Destugues
a1fc792e37 Web+: handle about: URLs internally
Trying to open those using the MIME repo would lead to opening
AboutSystem, probably not what you expected.

Note that WebKit currently redirects all those URLs to about:blank. We
could implement some of them, if really wanted.

Fixes #9611.
2014-01-20 09:49:25 +01:00
Alexander von Gluck IV
fd78b6df3f ppc: Modernize atomic.S.
* Stub out atomic_get_and_set. This needs completed.
2014-01-19 23:39:19 -06:00
Alexander von Gluck IV
24f0b1e29e libroot: Drop volatile in syscall atomic functions
* Per 077c84eb27, atomics are no longer volatile.
* Was changed in SupportDefs.h, but no one told libroot
  that it was no-longer volatile.
2014-01-19 22:31:37 -06:00
Alexander von Gluck IV
749a60bf39 ppc: atomic is no longer volatile per 077c84eb27 2014-01-19 22:14:28 -06:00
Alexander von Gluck IV
14919567d1 kernel: Add more architecture code post-scheduler
* Fix incorrect cpu vendor name mapping
* Add additional CPU architectures
* Add additional CPU vendors
* Rework PowerPC arch_system_info passing
  PVR back for cpu model
2014-01-19 21:53:56 -06:00
Pawel Dziepak
e1720098c6 kernel: No need for arch specific ifdefs in arch/atomic.h 2014-01-20 04:09:17 +01:00
Pawel Dziepak
1a5afe0404 add-ons/kernel: Use UsePrivateKernelHeaders where appropriate 2014-01-20 04:09:12 +01:00
Pawel Dziepak
59b9b52aaf scheduler: system_time() may be unreliable
On multisocket systems as well as under virtual machines logical CPUs
may use separate TSC. We could attempt to synchronize them what probably
would solve problems on multisocket systems. Unfortunately, when running
under hypervisor there is still a chance that TSC will get out of sync
again (e.g. cpufreq enabled on host when there is no invariant TSC). As
long as we use RDTSC as our main time source the scheduler must accept the
fact that time may go backwards (what isn't really a serious problem).
2014-01-20 03:22:04 +01:00
Pawel Dziepak
73db12ab31 kernel: Align user_thread objects to CACHE_LINE_SIZE 2014-01-20 03:22:04 +01:00
Alexander von Gluck IV
88c54b5485 kernel: Rework ppc (and m68k) atomic functions post-scheduler
* Make atomic function more like current x86
* Remove fake fallback atomic code for ppc as hardware spinlocks exist
2014-01-19 19:33:21 -06:00
Alexander von Gluck IV
c9e66bfc9b kernel: Add missing smp memory barrier calls. Set max cpu to 1
* Set max cpu to 1 for PPC until atomic functions are finished
* We have atomic functions inline in the kernel and assembly
  code in libroot post-scheduler merge... isn't that a lot of
  duplication?
2014-01-19 19:33:21 -06:00
Pawel Dziepak
cf87df8ba3 libroot: Fix gcc2 build 2014-01-20 00:54:52 +01:00
Stephan Aßmus
22626dc027 TextDocument::Insert() fixed line break case.
* Always add back the second part of the split paragraph, even if it has
   a length of 0.
2014-01-20 00:50:38 +01:00
Stephan Aßmus
57246b1477 TextDocumentLayout: Fixed invalidating
* Add new ParagraphLayouts for new Paragraphs in the TextDocument.
 * Actually mark layout invalid, so that height changes in paragraphs
   are accounted for and newly added paragraphs are positioned.
2014-01-20 00:50:38 +01:00
Stephan Aßmus
fa8b5d525e TextDocument: More fixes
* Fixed ParagraphIndexFor() not returning the last paragraph when the
   requested text offset was right at the text end.
 * Fixed off-by-one error detecting inserted line-breaks.
2014-01-20 00:50:37 +01:00
Stephan Aßmus
2188476555 TextEditor: Correct line up/down on first/last line.
* Move to beginning of first line, or end of last line respectively.
2014-01-20 00:50:37 +01:00
Stephan Aßmus
e809325835 ParagraphLayout: Bugfixes.
* Fixed off-by-one errors in FirstOffsetOnLine() and LastOffsetOnLine().
 * Fixed GetLineBounds() not returning anything y2 and overwriting y1.
2014-01-20 00:50:36 +01:00
Stephan Aßmus
9fff2ecb3f List: Fixed off-by-one check in Add().
Of course we can add right at the end...
2014-01-20 00:50:35 +01:00
Stephan Aßmus
0d8b8ca63a ParagraphStyleData: Fixed line spacing not being set/adopted/compared. 2014-01-20 00:50:35 +01:00
Stephan Aßmus
300c690eb6 Text stuff: Fixed various issues with editing.
* Insert/Remove now works for simple typing.
 * Inserting multiple paragaphs not yet tested.
 * Renamed TextSpan::CharCount() to CountChars() for consistency.
2014-01-20 00:50:34 +01:00
Stephan Aßmus
7e8dde4846 CharacterStyle: Added FontSize(), IsBold() and IsItalic(). 2014-01-20 00:50:34 +01:00
Stephan Aßmus
ffed252616 Paragraph: Added Prepend(TextSpan). 2014-01-20 00:50:33 +01:00
Stephan Aßmus
523baa4fdc TextEditor: Control caret offset in Insert/Remove()...
... and fix the invalidation to happen after the operation, since it currently
updates the layout text spans synchronously.
2014-01-20 00:50:33 +01:00
Pawel Dziepak
25dcdbc2b5 libroot: Avoid conflicts with legacy CPU and platform enums 2014-01-20 00:32:57 +01:00
Pawel Dziepak
32d1afe024 Remove B_CPU_x86_VENDOR_MASK 2014-01-20 00:31:38 +01:00
Rene Gollent
6a5f0f4da6 Vision: fix missing icon. 2014-01-19 17:41:38 -05:00
Alexander von Gluck IV
fb8026e82b kernel: Add missing PPC CPU functions for idle / pause 2014-01-19 14:38:01 -06:00
Alexander von Gluck IV
524bea3553 kernel: fix missing cpu cache defines non-x86
* Regression introduced due to scheduler change
* Other other non-x86, non-ppc, and non-arm platforms
  need evalulated for this metric
2014-01-19 14:27:09 -06:00
Alexander von Gluck IV
6647d2c95a kernel: fix missing SMP_MAX_CPUS on non-x86
* Regression introduced due to scheduler change
* Drop MAX_BOOT_CPUS as it is no longer used
2014-01-19 14:09:51 -06:00
Pawel Dziepak
9d80738d95 kernel: Fix NULL dereference in has_permission_to_signal 2014-01-19 19:35:13 +01:00
Stephan Aßmus
2c906df217 Text stuff: Bugfixes in Insert and Remove methods
Still not well tested. Also some way to trigger the layouts to adopt to
the changed document paragraphs. Not yet via the new TextListener.
2014-01-19 16:33:36 +01:00
Stephan Aßmus
315dee6f22 TextEditor: Resolve TODO and call Insert() and Remove()...
... which both already exist in the TextDocument API (stubbed out or
untested as they are).
2014-01-19 15:56:07 +01:00
Stephan Aßmus
13d17b5b01 TextDocument: Implemented Remove(), untested.
Also some refactoring for ParagraphAt() into a separate ParagraphIndexFor(),
used by the former, since often an index is needed.
2014-01-19 15:56:07 +01:00