**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-** Copyright (c) 2007 Chris Moore
+** Copyright (c) 2007, 2008 Chris Moore
**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
CanvasView::on_current_time_widget_changed()
{
set_time(current_time_widget->get_value());
+
+ // show the value being used - it will have been rounded to nearest frame
+ // this was already being done elsewhere, but only if the time was really changed;
+ // if the current time was 6f and the user edited it to 6.1f, then the 6.1f would
+ // be left in the display without the following line to fix it
+ current_time_widget->set_value(get_time());
+ current_time_widget->set_position(-1); // leave the cursor at the end
}
// Gtk::Widget*
sigc::hide_return(sigc::ptr_fun(&studio::App::new_instance))
);
action_group->add( Gtk::Action::create("open", Gtk::Stock::OPEN),
- sigc::hide_return(sigc::ptr_fun(&studio::App::dialog_open))
+ sigc::hide_return(sigc::mem_fun(*get_instance().get(), &studio::Instance::open))
);
action_group->add( Gtk::Action::create("save", Gtk::Stock::SAVE),
hide_return(sigc::mem_fun(*get_instance().get(), &studio::Instance::save))
void
CanvasView::time_zoom_in()
{
+ float frame_rate = get_canvas()->rend_desc().get_frame_rate();
+ Time min_page_size = 2/frame_rate;
+
time_window_adjustment().set_page_size(time_window_adjustment().get_page_size()*0.75);
+ if (time_window_adjustment().get_page_size() < min_page_size)
+ time_window_adjustment().set_page_size(min_page_size);
time_window_adjustment().changed();
refresh_time_window();
void
CanvasView::time_zoom_out()
{
+ Time length = (get_canvas()->rend_desc().get_time_end() -
+ get_canvas()->rend_desc().get_time_start());
+
time_window_adjustment().set_page_size(time_window_adjustment().get_page_size()/0.75);
+ if (time_window_adjustment().get_page_size() > length)
+ time_window_adjustment().set_page_size(length);
time_window_adjustment().changed();
refresh_time_window();