6155 Commits

Author SHA1 Message Date
John Scipione
7aae876a79 Terminal: Move secondary windows back in screen
For the Window title and tab title edit windows there was already code used to
move a window that had gone out of the screen frame back in.

I generalized this code by turning it into a _MoveWindowInScreen() method
and then called it in 3 places, the original 2 cases as well as the Find window.
We might want to move this method into BWindow if this is something we'd like
to use it for windows in other applications, but this solves the problem in Terminal
for now.
2013-05-14 19:53:31 -04:00
John Scipione
a2575bd8da Terminal style fix, spaces around binary operator 2013-05-14 19:53:31 -04:00
John Scipione
37848383ca Terminal: Center Find window in term window frame
... instead of positioning it under the mouse pointer as suggested
by Axel.
2013-05-14 17:38:17 -04:00
Rene Gollent
d2be966d2b Improve ProcessController<->Debugger integration.
- Clicking on a team item in Threads and CPU Usage now offers the option
  to debug the team in addition to killing it.
- Both the aforementioned option and the previously existing thread
  debugging option now invoke Debugger directly instead of simply
  invoking debug_server via debug_thread().

Implements #9768.
2013-05-13 21:38:33 -04:00
Rene Gollent
5339366680 Fix gcc2 build. 2013-05-12 22:17:52 -04:00
Rene Gollent
42d73abab9 Add "Run to cursor" context action.
- UserInterfaceListener/TeamDebugger: Extend ThreadActionRequested()
  to allow passing a target address. Adjust TeamDebugger's
  implementation accordingly.

- ThreadHandler: The MSG_THREAD_RUN action can now optionally take an
  address parameter to run until. If this is specified, set a temporary
  breakpoint for said address before resuming execution.

- SourceView: On right click, present a context menu showing possible
  actions for the current line if we're currently in a stopped thread.
  For the moment, this only yields the "Run to cursor" action, but
  more will be added in the future.
2013-05-12 16:03:47 -04:00
Rene Gollent
7a361a7a19 Fix incorrect use of ObjectDeleter. 2013-05-12 16:03:46 -04:00
Ingo Weinhold
78a1163c7b Terminal: hyper link mode: Try more aggressively to detect a path
Consider ':' a potential path delimiter and try all combinations of
chopped off prefixes and suffixes. This makes detection in the output
of a multi-file grep work even if the found line starts with a path
character or is a path. A path in the typical colon delimited search
paths (e.g. PATH) is detected as well.
2013-05-12 17:18:47 +02:00
Ingo Weinhold
a15966b3b0 Terminal: hyper link mode: handle relative paths better
* We were trying relative paths as is, which means checking them with
  Terminal's current working directory. Now we use the CWD of the active
  process.
* In case the path is relative, add a context menu item "Copy absolute
  path".
2013-05-12 17:18:18 +02:00
Ingo Weinhold
7daf375812 Terminal: HyperLink: Remove base address, add text property
* The base address is no longer used (it was in a an earlier, never
  committed version), so we can as remove it.
* Introduce a text property.
2013-05-12 17:18:18 +02:00
Rene Gollent
3f3ade6223 Fix incorrect return value problem in STEP_OUT.
A similar problem to that described in my previous commit afflicted the
step out case as well. We now store the current IP when issuing a step
out, and use that as the function address once execution returns.
2013-05-11 19:08:09 -04:00
Rene Gollent
d9d42ec6bf Fix case of incorrect return value detection.
When using step over to step out of a function, we need to use the
address range of the step statement to determine the function which
returned said value, not the current IP, as that has already exited the
function and will consequently be that of the caller, leading to such
returns being attributed to the wrong function, and consequently also
the wrong type.
2013-05-11 18:48:29 -04:00
Rene Gollent
7de99f8341 Fix Terminal build. 2013-05-10 23:21:51 -04:00
Ingo Weinhold
e9bad28aaf Terminal: Add a hyperlink mode
When holding down Command, text under the mouse is checked whether it
looks like a URL or a local path. If so, it is highlighted and can be
clicked, which will open the URL/file. Right-clicking opens a context
menu with items for opening the link/file or copying it to the
clipboard. When additionally holding down Shift, path prefixes up to
the component under the mouse will be considered (no effect for URLs).

Changes:
* Add HyperLink class. Encapsulates a type, the address, and an
  optional base address. Features an Open() method to open the address.
* Move/add some string constants to TermConst.
* Move TermView::CharClassifier to top level and rename to
  DefaultCharClassifier.
* Introduce TermViewHighlight and TermViewHighlighter. The former
  refers to a range of text in a TermView's text buffer. It also
  contains a pointer to a TermViewHighlighter object, which specifies
  how the text range shall be rendered (colors and attributes).
* TermView:
  - Add respective _{Add,Remove}Highlight() methods and adjust the code
    to support highlights.
  - Make the selection a TermViewHighlight. At least its visual aspect
    is now handled like other highlights.
  - Introduce an inner TextBufferSyncLocker. It is used instead of
    BAutolock when locking the text buffer to synchronize the visual
    buffer with it. After it unlocks it calls
    _VisibleTextBufferChanged(), if the visual text buffer has changed,
    which in turn calls a new callback on the active state.
  - Add WindowActivated() and ModifiersChanged() callbacks to the state
    interface.
  - Add new states HyperLinkState and HyperLinkMenuState which
    implement the new feature.

Fix modifier issues
2013-05-11 04:44:25 +02:00
Ingo Weinhold
314e8a20c6 BasicTerminalBuffer: Add {Previous,Next}LinePos() 2013-05-11 03:07:38 +02:00
Ingo Weinhold
bda35ef5dc Terminal: Pull user input handling into state classes 2013-05-11 03:07:30 +02:00
Ingo Weinhold
a7000a02a0 Terminal: Add header VTKeyTbl.h
... exporting what is defined in VTKeyTbl.c.
2013-05-11 03:07:13 +02:00
Jérôme Duval
e1a77daa69 Cortex: fixes 64 bit warnings 2013-05-10 20:59:13 +02:00
Jérôme Duval
07eea198ea mandelbrot: fixes 64 bit warnings 2013-05-10 20:11:23 +02:00
Jérôme Duval
981062893e Clock: fixes 64 bit warnings 2013-05-10 20:09:22 +02:00
Jérôme Duval
006e76a155 MidiPlayer: fixes 64 bit warnings 2013-05-10 19:53:03 +02:00
Stephan Aßmus
d4f100e56e Unify spacing
* Unify split width
 * Make break point list attach to tab frame, apply default insets and spacing to buttons.
2013-05-10 10:55:54 +02:00
Stephan Aßmus
754fcddd72 Remove the spacing between menu bar and contents
* The spacing is already present due to the insets
   of the contents, so there was some extra room
   between the menu and the contents which this
   commit removes.
2013-05-10 10:09:52 +02:00
Stephan Aßmus
9f5437a40b Changed hierarchy of splits to give variables/registers more room 2013-05-10 09:57:43 +02:00
Stephan Aßmus
abb7ea6512 Renamed File menu to Team and Quit to Close.
There isn't actually a file on disk somewhere. And Quit
 could have been mistaken to quit the entire Debugger
 application, as Quit in File usually does with applications.
 However, it will only close the that team window and only
 quit Debugger if it was the last open window.
2013-05-10 09:39:25 +02:00
John Scipione
55eb18ef2f Terminal: Move the find window under your cursor
on open moving the window back into the screen if necessary.
2013-05-10 00:52:58 -04:00
John Scipione
88c2518b23 Terminal: Layout the find window better 2013-05-10 00:51:57 -04:00
John Scipione
55067dfe82 Style fixes and update copywrite headers 2013-05-10 00:51:24 -04:00
Rene Gollent
3313492032 Fix memory leaks introduced in previous commits. 2013-05-09 17:31:42 -04:00
Rene Gollent
e1fff3ea3a Build fix. 2013-05-09 07:24:13 -04:00
Rene Gollent
a69facf051 Implement #9756. ImageFunctionsView now builds...
...a source path-based tree of all the image's functions, and
consequently organizes them into a nested hierarchy similar to the
on-disk directory structure in which they were originally found (or at
least, as close as we can get from the DWARF info).
2013-05-08 23:26:12 -04:00
Rene Gollent
df720531e3 Use B_USE_SMALL_{SPACING,INSETS} as suggested by Axel. 2013-05-07 22:59:35 -04:00
Rene Gollent
4efba5fd99 Use default spacing for inspector's groups too. 2013-05-06 18:47:17 -04:00
Rene Gollent
1b10489347 Add listener interface to MemoryView.
- When the target address of the memory view changes, an attached
  listener is now notified. This lets the inspector window's text input
  keep in sync with the current address when keyboard navigating the
  memory view.
2013-05-05 16:08:31 -04:00
Rene Gollent
ab2e15ab8c Use default insets for inspector window as well. 2013-05-05 13:34:07 -04:00
Rene Gollent
2253368e6a Implement #8671.
Smarter Zoom behavior for TeamsWindow - resize such that the
team list view's horizontal scrollbar isn't needed.
2013-05-05 13:14:24 -04:00
Rene Gollent
447f975c88 Spacing adjustments as suggested by Axel. 2013-05-05 08:55:13 -04:00
Rene Gollent
73eeef0a52 Change truncation mode for image/function list views.
Since for image/file paths, the most interesting part is generally the
filename at the end, and the initial path information is mostly
redundant, it makes more sense to truncate at the beginning.
2013-05-04 21:18:38 -04:00
Rene Gollent
9187efd1a9 Clean up context menu building.
Even if the inspect action is unavailable, continue building the rest
of the actions, since they can apply regardless of the value location.
2013-05-04 20:30:04 -04:00
Jerome Duval
f756b25e8a DiskProbe: remove superfluous parentheses introduced in a31ac99 2013-05-04 18:20:38 +02:00
Jerome Duval
9f0006623c MediaPlayer: addr_t instead of long, as suggested by Ingo. 2013-05-04 16:16:30 +02:00
Jérôme Duval
62e60219cc ShowImage: initialize rgb_color.alpha field. 2013-05-04 15:31:15 +02:00
Jérôme Duval
a31ac990cc Diskprobe: some 64 bit fixes
* also warnings about comparisons between signed and non signed.
2013-05-04 15:31:14 +02:00
Jérôme Duval
2443899f1b WebWatch: some 64 bit fixes 2013-05-04 15:31:13 +02:00
Jérôme Duval
c0722add75 TextSearch: some 64 bit fixes 2013-05-04 15:31:13 +02:00
Jérôme Duval
3e4cf3a1b8 PowerStatus: some 64 bit fixes 2013-05-04 15:31:11 +02:00
Jérôme Duval
14b32de1d5 People: some 64 bit fixes 2013-05-04 15:31:10 +02:00
Jérôme Duval
bd380b558a PackageInstaller: some 64 bit fixes 2013-05-04 15:31:10 +02:00
Jérôme Duval
113817f035 MediaPlayer: 64 bit build fixes for an ugly use of BList. 2013-05-04 15:31:07 +02:00
Jérôme Duval
cf91714bf2 Magnify: some 64 bit fixes 2013-05-04 15:31:06 +02:00