#include "pbd/stacktrace.h"
#include <glibmm/miscutils.h>
+#include <glibmm/uriutils.h>
#include <gtkmm/image.h>
#include <gdkmm/color.h>
#include <gdkmm/bitmap.h>
}
for (vector<string>::iterator i = uris.begin(); i != uris.end(); ++i) {
-
if ((*i).substr (0,7) == "file://") {
-
- string const p = PBD::url_decode (*i);
-
- // scan forward past three slashes
-
- string::size_type slashcnt = 0;
- string::size_type n = 0;
- string::const_iterator x = p.begin();
-
- while (slashcnt < 3 && x != p.end()) {
- if ((*x) == '/') {
- slashcnt++;
- } else if (slashcnt == 3) {
- break;
- }
- ++n;
- ++x;
- }
-
- if (slashcnt != 3 || x == p.end()) {
- error << _("malformed URL passed to drag-n-drop code") << endmsg;
- continue;
- }
-
- paths.push_back (p.substr (n - 1));
+ paths.push_back (Glib::filename_from_uri (*i));
}
}
void
Editor::new_tempo_section ()
-
{
}
ZoomChanged (); /* EMIT_SIGNAL */
- //reset_scrolling_region ();
+ ArdourCanvas::GtkCanvasViewport* c;
+
+ c = get_time_bars_canvas();
+ if (c) {
+ c->canvas()->zoomed ();
+ }
+ c = get_track_canvas();
+ if (c) {
+ c->canvas()->zoomed ();
+ }
if (playhead_cursor) {
playhead_cursor->set_position (playhead_cursor->current_frame ());
EditPoint ep = _edit_point;
if (from_context_menu && (ep == EditAtMouse)) {
- return window_event_frame (&context_click_event, 0, 0);
+ return canvas_event_frame (&context_click_event, 0, 0);
}
if (entered_marker) {
rtv->view()->RegionViewRemoved.connect (sigc::mem_fun (*this, &Editor::region_view_removed));
}
- _routes->routes_added (new_views);
- _summary->routes_added (new_views);
+ if (new_views.size() > 0) {
+ _routes->routes_added (new_views);
+ _summary->routes_added (new_views);
+ }
if (show_editor_mixer_when_tracks_arrive) {
show_editor_mixer (true);