13
0
Commit Graph

259 Commits

Author SHA1 Message Date
bd577a0663 Avoid possible use of uninitialized values.
This could only happen with a broken widget, but it shuts up clang and doesn't
hurt.
2014-11-18 02:55:03 -05:00
5d5d9cb9e2 Fix various sticky/broken cursor issues.
This still isn't quite right, but it's a lot less broken than before, at least.
2014-11-14 02:37:36 -05:00
73e25ec571 redraw entire canvas when ColorsChanged is emitted 2014-11-10 10:45:33 -05:00
0960122686 set canvas background color 2014-11-10 10:45:18 -05:00
db98083f20 Remove unused variable. 2014-10-31 20:46:09 -04:00
ba4d1cd1c1 remove "canvasvar_" from all functions related to obtaining values from ARDOUR_UI::config() 2014-10-21 22:58:58 -04:00
b73f725676 remove mouse zoom mode; bind z to zoom-to-range 2014-10-21 12:47:53 -04:00
46f5c0c769 fix note 15897 on #5589 - only use fader cursor for region gain line when in mouse gain mode 2014-10-21 11:50:06 -04:00
4d0f30f5a8 fix note 0015900 on #5589 (cursor doesn't change when switching edit point 2014-10-13 15:19:07 -04:00
451e48de5f fix compiler warnings 2014-09-15 14:09:12 -04:00
885f1c71ec Remove unused variables (fix warnings). 2014-08-31 17:54:16 -04:00
b69870dfe6 add Editor::trackviews_height() convenience function to determine height of trackview area of canvas; use to help fix set_visible_track_count(); don't consider hidden tracks in that function; add "Selected" to that selector menu 2014-07-15 18:09:04 -04:00
d0bc4b55fa scroll up/down by tracks uses top edge as "focal point"; fix some other nasty code details 2014-07-14 12:36:51 -04:00
116a0ad327 fix inconsistency in smart mode where it shows a trim cursor in the top half of the region edge, but a click is actually going to start a range. It is arguable that we _should_ allow trimming in the top half, but that is complicated. This change is small and makes it consistent for now 2014-07-07 14:46:05 -05:00
7ec397c019 add basics of Cut mouse mode, no functionality yet. Icon images are still required 2014-07-07 07:05:43 -04:00
e3a6ea0273 give drop zone its own cursor-ability 2014-07-01 14:37:05 -04:00
4df566782c remove canvas cursor debug output 2014-06-30 09:20:26 -04:00
c706b1c4bb replace old implementation of Editor::_ensure_time_axis_view_is_visible() with the guts of Editor::ensure_track_is_visible(), then remove the latter.
Also change all users of ensure_track_is_visible() to use _ensure_time_axis_view_is_visible()
2014-06-27 10:49:05 -04:00
0a9595f74f make verbose canvas cursor color be set in its constructor rather than explicitly 2014-06-27 09:37:57 -04:00
a3c378cf62 move utility functions into a dedicated namespace 2014-06-25 21:47:54 +02:00
f147846863 add ability to save current action sensitivities and restore them, and to disable all action sensitivity.
This is needed to be able to lock the application fully on OS X, where the global menu bar would still allow interaction
even when a modal dialog is displayed.
2014-06-24 09:56:16 -04:00
6a5d805b38 more canvas refactoring.
Remove Canvas::Layout, use Canvas::Container for the same purpose, move child-rendering into Item::render_children() so that it
could theoretically be used by any derived type.
2014-06-22 11:41:05 -04:00
0796ccfb65 use newly factored canvas in gtk2_ardour 2014-06-21 11:44:22 -04:00
f5edb5a022 correct conversion of drop y-position into trackview for drag-n-drop of external files 2014-06-19 13:45:22 -04:00
f552c1cc5c fix potential crash in Editor::set_canvas_cursor() if inadvertently passed a null cursor (semantics are different on OS X vs. X Window) 2014-06-19 09:26:00 -04:00
e7895e1f80 more work on cursor tracking state 2014-06-18 21:03:25 -04:00
becf857f48 a whole slew of changes related to centralizing and rationalizing cursor management.
Debugging output left in place to help address the reports that will come in as people test this more
2014-06-18 10:24:59 -04:00
c30bda5173 a set of inter-related subtle changes to get vertical autoscrolling to work, or at least work better. 2014-06-17 08:08:14 -04:00
23b1c59630 fix erroneous start of autoscroll when mouse pointer is left or above the left/upper scrolling boundary but we're already scrolled to zero on the relevant axes 2014-06-13 18:43:53 -04:00
f7844f4893 do most of the work related to adding new anchored trim cursors (but debugging/analysis continues) 2014-06-13 18:43:53 -04:00
7a0b2e1c18 fix scrolling behaviour in track headers (event was stolen by rulers because event coordinates made it look as if the event happened there) 2014-06-13 14:27:59 -04:00
79c30ab766 make rulers color-sensitive (e.g. theme manager editable, etc) 2014-06-12 01:07:58 -04:00
22f45b5a78 Revert "do not allow canvas cursor changes while a drag is in progress". This
was a bad idea. There are lots of reasons to want to change cursors while
dragging, even if we don't do that yet.

This reverts commit 144033e55c.
2014-06-10 18:50:42 -04:00
144033e55c do not allow canvas cursor changes while a drag is in progress 2014-06-10 16:46:09 -04:00
d36afa6b8b forward scroll events from track control headers to the canvas, to get consistent scroll behaviour (whatever that behaviour is) 2014-06-09 10:02:38 -04:00
95f2b4ba17 change height of canvas drop so last 20 pixels of bottom track is still visible when fully scrolled down 2014-06-09 09:12:42 -04:00
b530e8649e rename Editor::_canvas_bottom_rect as Editor::_canvas_drop_zone; increase its size; remove debug message 2014-06-09 09:09:21 -04:00
5285bb587f fix position where rubberband rect is drawn 2014-06-06 08:33:13 -04:00
ad346dc638 reinstate a canvas group where we reparent regions while dragging, so that they are always on top.
I mistakenly removed this during the onecanvas changes.
2014-06-05 15:16:55 -04:00
e0533e9dd7 more profound changes to canvas scrolling, in particular find appropriate ScrollGroup for Canvas::{window,canvas}_to_{canvas,window}() 2014-06-03 16:13:12 -04:00
da7a860256 remove useless groups from timebar area, clarify scroll group naming in editor 2014-06-03 16:11:24 -04:00
5696199daf remove timebar canvas and just use a single canvas instead. This is just part one - lots of minor fixes to be done 2014-06-03 16:10:27 -04:00
c9f890bd7c avoid recursing through the entire canvas when scrolling - only scroll explicitly identified ScrollGroups 2014-06-03 16:10:27 -04:00
da67cb92e9 whitespace deletion 2014-06-03 16:10:27 -04:00
6019f06bdf different approach to independent scrolling, involving ArdourCanvas::ScrollGroup
The idea now is that a scroll group item can be added to the canvas which will causes its children to scroll in either or both
directions (horizontal or vertical). There are few complications: the position() of the ScrollGroup is ambiguous depending
on whether you want it with scroll taken into account or not, so Item::canvas_position() was added, which defaults to
the same value as Item::position() but is overridden by ScrollGroup to return the position independent of scrolling. This
method is used when translating between item/canvas/window coordinate systems.

Note that the basic idea is that we MOVE the scroll group when a scroll happens. This mirrors what happens in the GnomeCanvas,
where Nick Mainsbridge came up with a great idea that allowed unification of the time bar and track canvases.
2014-06-03 16:10:27 -04:00
97109672c7 initial redesign of canvas scrolling to facilitate independent x- and y-axis scrolling of specific groups within the canvas.
This commit should cause no change in behaviour, but contains all the code and changes necessary
for the next step
2014-06-03 16:09:06 -04:00
529a31bde7 remove unnecessary and wierd constant for bottom rect (drop zone) of track canvas 2014-05-19 14:00:36 -04:00
5668eea2a3 add a transparent rect that is always located at the bottom of the track canvas
This gives us an event/drag-n-drop/click target for things "at the bottom"
2014-04-16 04:16:56 -04:00
8b93576c18 not that anyone ever runs with the SAE profile and not that we want to support it, but don't crash if they do 2014-04-16 03:00:49 -04:00
dbb8501429 make our intentions even clearer when call Editor::track_canvas_viewport_size_allocated() 2014-04-16 02:55:08 -04:00