// Serilize Constructor MessageMergeProcess() : Message( PROTOCOL_VERSION , 171 , 0 ) { task_id( "" ); uri_list( ); merger( "" ); }
// Serilize Constructor MessageTaskDeliver() : Message( PROTOCOL_VERSION , 131 , 0 ) { task_id( "" ); uri_list( ); aligner( "" ); sorter( "" ); reference( "" ); }
void Gobby::BrowserContextCommands::on_open_response(int response_id, InfBrowser* browser, InfBrowserIter iter) { FileChooser::Dialog* dialog = static_cast<FileChooser::Dialog*>(m_dialog.get()); if(response_id == Gtk::RESPONSE_ACCEPT) { Glib::SListHandle<Glib::ustring> uris = dialog->get_uris(); OperationOpenMultiple::uri_list uri_list( uris.begin(), uris.end()); m_operations.create_documents( browser, &iter, m_preferences, uri_list); } m_watch.reset(NULL); m_dialog.reset(NULL); }
// // DND Drop handling // void NoteEditor::on_drag_data_received(const Glib::RefPtr<Gdk::DragContext> & context, int x, int y, const Gtk::SelectionData & selection_data, guint info, guint time) { bool has_url = false; std::vector<std::string> targets = context->list_targets(); for(std::vector<std::string>::const_iterator iter = targets.begin(); iter != targets.end(); ++iter) { const std::string & target(*iter); if (target == "text/uri-list" || target == "_NETSCAPE_URL") { has_url = true; break; } } if (has_url) { utils::UriList uri_list(selection_data); bool more_than_one = false; // Place the cursor in the position where the uri was // dropped, adjusting x,y by the TextView's VisibleRect. Gdk::Rectangle rect; get_visible_rect(rect); int adjustedX = x + rect.get_x(); int adjustedY = y + rect.get_y(); Gtk::TextIter cursor; get_iter_at_location (cursor, adjustedX, adjustedY); get_buffer()->place_cursor (cursor); Glib::RefPtr<Gtk::TextTag> link_tag = get_buffer()->get_tag_table()->lookup ("link:url"); for(utils::UriList::const_iterator iter = uri_list.begin(); iter != uri_list.end(); ++iter) { const sharp::Uri & uri(*iter); DBG_OUT("Got Dropped URI: %s", uri.to_string().c_str()); std::string insert; if (uri.is_file()) { // URL-escape the path in case // there are spaces (bug #303902) insert = sharp::Uri::escape_uri_string(uri.local_path()); } else { insert = uri.to_string (); } if (insert.empty() || sharp::string_trim(insert).empty()) continue; if (more_than_one) { cursor = get_buffer()->get_iter_at_mark (get_buffer()->get_insert()); // FIXME: The space here is a hack // around a bug in the URL Regex which // matches across newlines. if (cursor.get_line_offset() == 0) { get_buffer()->insert (cursor, " \n"); } else { get_buffer()->insert (cursor, ", "); } } get_buffer()->insert_with_tag(cursor, insert, link_tag); more_than_one = true; } context->drag_finish(more_than_one, false, time); } else { Gtk::TextView::on_drag_data_received (context, x, y, selection_data, info, time); } }