Author: kitone
Date: Thu Aug 14 23:38:15 2014
New Revision: 866
URL: http://svn.gna.org/viewcvs/subtitleeditor?rev=866&view=rev
Log:
Fix bug #22472 : Recent keyfroms files.
Modified:
trunk/ChangeLog
trunk/plugins/actions/keyframesmanagement/keyframesmanagement.cc
Modified: trunk/ChangeLog
URL:
http://svn.gna.org/viewcvs/subtitleeditor/trunk/ChangeLog?rev=866&r1=865&r2=866&view=diff
==============================================================================
--- trunk/ChangeLog (original)
+++ trunk/ChangeLog Thu Aug 14 23:38:15 2014
@@ -1,3 +1,8 @@
+2014-08-14 kitone <[email protected]>
+
+ * plugins/actions/keyframesmanagement/keyframesmanagement.cc
+ Fix bug #22472 : Recent keyfroms files.
+
2014-08-12 kitone <[email protected]>
* plugins/actions/keyframesmanagement/keyframesgeneratorusingframe.cc
Modified: trunk/plugins/actions/keyframesmanagement/keyframesmanagement.cc
URL:
http://svn.gna.org/viewcvs/subtitleeditor/trunk/plugins/actions/keyframesmanagement/keyframesmanagement.cc?rev=866&r1=865&r2=866&view=diff
==============================================================================
--- trunk/plugins/actions/keyframesmanagement/keyframesmanagement.cc
(original)
+++ trunk/plugins/actions/keyframesmanagement/keyframesmanagement.cc Thu Aug
14 23:38:15 2014
@@ -4,7 +4,7 @@
* http://home.gna.org/subtitleeditor/
* https://gna.org/projects/subtitleeditor/
*
- * Copyright @ 2005-2012, kitone
+ * Copyright @ 2005-2014, kitone
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -155,6 +155,22 @@
_("FIXME")),
sigc::mem_fun(*this,
&KeyframesManagementPlugin::on_snap_end_to_next));
+ // Recent files
+ Glib::RefPtr<Gtk::RecentAction> recentAction =
Gtk::RecentAction::create("keyframes/recent-files", _("_Recent Files"));
+
+ Glib::RefPtr<Gtk::RecentFilter> filter =
Gtk::RecentFilter::create();
+ filter->set_name("subtitleeditor");
+ filter->add_group("subtitleeditor-keyframes");
+ recentAction->set_filter(filter);
+ recentAction->set_show_icons(false);
+ recentAction->set_show_numbers(true);
+ recentAction->set_show_tips(true);
+ //recentAction->set_show_not_found(false);
+ recentAction->set_sort_type(Gtk::RECENT_SORT_MRU);
+ recentAction->signal_item_activated().connect(
+ sigc::mem_fun(*this,
&KeyframesManagementPlugin::on_recent_item_activated));
+ action_group->add(recentAction);
+
// ui
Glib::RefPtr<Gtk::UIManager> ui = get_ui_manager();
@@ -168,6 +184,7 @@
" <menu name='menu-keyframes'
action='menu-keyframes'>"
" <placeholder
name='placeholder'>"
" <menuitem
action='keyframes/open'/>"
+ " <menuitem
action='keyframes/recent-files'/>"
" <menuitem
action='keyframes/save'/>"
" <menuitem
action='keyframes/generate'/>"
" <menuitem
action='keyframes/generate-using-frame'/>"
@@ -262,10 +279,14 @@
ui.hide();
Glib::RefPtr<KeyFrames> kf =
KeyFrames::create_from_file(ui.get_uri());
if(!kf)
- kf = generate_keyframes_from_file(ui.get_uri());
+ // FIXME: until old code is FIXED, use by
default the frame method
+ kf =
generate_keyframes_from_file_using_frame(ui.get_uri());
if(kf)
+ {
player()->set_keyframes(kf);
+ add_in_recent_manager(kf->get_uri());
+ }
}
}
@@ -289,7 +310,45 @@
// FIXME check return value
kf->save(uri);
+ add_in_recent_manager(kf->get_uri());
}
+ }
+ }
+
+ /*
+ */
+ void add_in_recent_manager(const Glib::ustring &uri)
+ {
+ se_debug_message(SE_DEBUG_PLUGINS, "uri=%s", uri.c_str());
+
+ Gtk::RecentManager::Data data;
+ data.app_name = Glib::get_application_name();
+ data.app_exec = Glib::get_prgname();
+ data.groups.push_back("subtitleeditor-keyframes");
+ data.is_private = false;
+ Gtk::RecentManager::get_default()->add_item(uri, data);
+ }
+
+
+ /*
+ * Open a recent keyframes
+ */
+ void on_recent_item_activated()
+ {
+ se_debug(SE_DEBUG_PLUGINS);
+
+ Glib::RefPtr<Gtk::Action> action =
action_group->get_action("keyframes/recent-files");
+
+ Glib::RefPtr<Gtk::RecentAction> recentAction =
Glib::RefPtr<Gtk::RecentAction>::cast_static(action);
+
+ Glib::RefPtr<Gtk::RecentInfo> cur =
recentAction->get_current_item();
+ if(cur)
+ {
+ se_debug_message(SE_DEBUG_PLUGINS, "uri=%s",
cur->get_uri().c_str());
+
+ Glib::RefPtr<KeyFrames> kf =
KeyFrames::create_from_file(cur->get_uri());
+ if(kf)
+ player()->set_keyframes(kf);
}
}
_______________________________________________
Subtitleeditor-commits mailing list
[email protected]
https://mail.gna.org/listinfo/subtitleeditor-commits