X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fwidget_time.cpp;h=caa99246f150f7a9b5f476498e487cc103aca93f;hb=8d84ce1bd606706b14e876d61856644b9d5d3c20;hp=cb7178b0321ab84a4c6fee0e68c03fa5c95bd9d8;hpb=ce408de81ca266b1f334ee9bc6c8fb7ba1492ed4;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/widget_time.cpp b/synfig-studio/trunk/src/gtkmm/widget_time.cpp index cb7178b..caa9924 100644 --- a/synfig-studio/trunk/src/gtkmm/widget_time.cpp +++ b/synfig-studio/trunk/src/gtkmm/widget_time.cpp @@ -2,10 +2,11 @@ /*! \file widget_time.cpp ** \brief Template File ** -** $Id: widget_time.cpp,v 1.1.1.1 2005/01/07 03:34:37 darco Exp $ +** $Id$ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 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 @@ -34,6 +35,8 @@ #include "widget_time.h" #include "app.h" +#include "general.h" + #endif /* === U S I N G =========================================================== */ @@ -45,10 +48,6 @@ using namespace studio; /* === M A C R O S ========================================================= */ -#if ! defined(_) -#define _(x) (x) -#endif - /* === G L O B A L S ======================================================= */ /* === P R O C E D U R E S ================================================= */ @@ -103,7 +102,7 @@ Widget_Time::refresh_value() if(abs(newtime-time_)>=0.001) { time_=newtime; - refresh_text(); + refresh_text(); signal_value_changed()(); } } @@ -117,7 +116,7 @@ bool Widget_Time::on_event(GdkEvent* event) { const Time scroll_amount(0.25); - + switch(event->type) { case GDK_SCROLL: @@ -135,10 +134,16 @@ Widget_Time::on_event(GdkEvent* event) } return true; break; + case GDK_BUTTON_PRESS: + case GDK_2BUTTON_PRESS: + case GDK_3BUTTON_PRESS: + if (!has_focus()) + grab_focus(); + break; default: break; } - + return Gtk::Entry::on_event(event); } @@ -146,13 +151,16 @@ bool Widget_Time::on_focus_out_event(GdkEventFocus* event) { refresh_value(); - refresh_text(); + refresh_text(); return Gtk::Entry::on_focus_out_event(event); } bool Widget_Time::on_focus_in_event(GdkEventFocus* event) { - set_text(time_.get_string(fps_,App::get_time_format()|Time::FORMAT_FULL)); + // if defined, show the full time format "0h 0m 5s 0f" when the time widget gets focus + if (getenv("SYNFIG_SHOW_FULL_TIME_ON_FOCUS")) + set_text(time_.get_string(fps_,App::get_time_format()|Time::FORMAT_FULL)); + return Gtk::Entry::on_focus_in_event(event); }