Author: kitone
Date: Fri Aug 15 15:29:17 2014
New Revision: 869
URL: http://svn.gna.org/viewcvs/subtitleeditor?rev=869&view=rev
Log:
Fix bug #22471 : Drag and drop of keyframe and waveform files.
Modified:
trunk/ChangeLog
trunk/src/gui/application.cc
trunk/src/gui/application.h
Modified: trunk/ChangeLog
URL:
http://svn.gna.org/viewcvs/subtitleeditor/trunk/ChangeLog?rev=869&r1=868&r2=869&view=diff
==============================================================================
--- trunk/ChangeLog (original)
+++ trunk/ChangeLog Fri Aug 15 15:29:17 2014
@@ -1,3 +1,9 @@
+2014-08-15 kitone <[email protected]>
+
+ * src/gui/application.cc:
+ * src/gui/application.h:
+ Fix bug #22471 : Drag and drop of keyframe and waveform files.
+
2014-08-15 kitone <[email protected]>
* src/we/waveformeditor.cc:
Modified: trunk/src/gui/application.cc
URL:
http://svn.gna.org/viewcvs/subtitleeditor/trunk/src/gui/application.cc?rev=869&r1=868&r2=869&view=diff
==============================================================================
--- trunk/src/gui/application.cc (original)
+++ trunk/src/gui/application.cc Fri Aug 15 15:29:17 2014
@@ -106,6 +106,16 @@
m_video_player->signal_drag_data_received().connect(
sigc::mem_fun(*this,
&Application::player_drag_data_received));
m_video_player->drag_dest_set(targets, Gtk::DEST_DEFAULT_ALL,
Gdk::DragAction(GDK_ACTION_COPY | GDK_ACTION_MOVE));
+ }
+ // open waveform or keyframes files with drag-and-drop in waveform view
+ {
+ std::vector<Gtk::TargetEntry> targets;
+
+ targets.push_back(Gtk::TargetEntry("text/uri-list",
Gtk::TargetFlags(0), 0));
+
+ m_waveform_editor->signal_drag_data_received().connect(
+ sigc::mem_fun(*this,
&Application::waveform_drag_data_received));
+ m_waveform_editor->drag_dest_set(targets,
Gtk::DEST_DEFAULT_ALL, Gdk::DragAction(GDK_ACTION_COPY | GDK_ACTION_MOVE));
}
}
@@ -688,6 +698,23 @@
}
}
+/*
+ */
+void Application::waveform_drag_data_received (const
Glib::RefPtr<Gdk::DragContext>& /*context*/, int /*x*/, int /*y*/, const
Gtk::SelectionData& selection_data, guint /*info*/, guint /*time*/)
+{
+ std::vector<Glib::ustring> uris = selection_data.get_uris();
+ for(guint i=0; i< uris.size(); ++i)
+ {
+ Glib::ustring uri = uris[i];
+ Glib::RefPtr<KeyFrames> kf = KeyFrames::create_from_file(uri);
+ if(kf)
+ m_video_player->player()->set_keyframes(kf);
+ else if(Glib::RefPtr<Waveform> wf =
Waveform::create_from_file(uri))
+ m_waveform_editor->set_waveform(wf);
+ }
+}
+
+
/*
*
Modified: trunk/src/gui/application.h
URL:
http://svn.gna.org/viewcvs/subtitleeditor/trunk/src/gui/application.h?rev=869&r1=868&r2=869&view=diff
==============================================================================
--- trunk/src/gui/application.h (original)
+++ trunk/src/gui/application.h Fri Aug 15 15:29:17 2014
@@ -86,6 +86,7 @@
*/
void notebook_drag_data_received (const
Glib::RefPtr<Gdk::DragContext>& context, int x, int y, const
Gtk::SelectionData& selection_data, guint info, guint time);
void player_drag_data_received (const
Glib::RefPtr<Gdk::DragContext>& context, int x, int y, const
Gtk::SelectionData& selection_data, guint info, guint time);
+ void waveform_drag_data_received (const
Glib::RefPtr<Gdk::DragContext>& context, int x, int y, const
Gtk::SelectionData& selection_data, guint info, guint time);
/*
*
_______________________________________________
Subtitleeditor-commits mailing list
[email protected]
https://mail.gna.org/listinfo/subtitleeditor-commits