void genericFilechooserWindow::setAnyEBUCoreFilter ( void ) { // filter for any ebucore files Glib::RefPtr<Gtk::FileFilter> filter = Gtk::FileFilter::create(); filter->set_name("Any EBUCore source"); filter->add_mime_type("application/mxf");//MXF Container mime type filter->add_mime_type("text/xml");//xml mime type filter->add_pattern("*.xml"); filter->add_pattern("*.mxf"); // add the filters to the filechooser add_filter(filter); }
void EditStrategyWindow::onOpenClicked() { Gtk::FileChooserDialog dialog(*this, "OPEN strategy", Gtk::FILE_CHOOSER_ACTION_OPEN); dialog.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); dialog.add_button("Open", Gtk::RESPONSE_OK); Glib::RefPtr<Gtk::FileFilter> filter = Gtk::FileFilter::create(); filter->set_name("RFI strategies"); filter->add_pattern("*.rfis"); filter->add_mime_type("text/rfistrategy+xml"); dialog.add_filter(filter); int result = dialog.run(); if(result == Gtk::RESPONSE_OK) { StrategyReader reader; std::string filename(dialog.get_filename()); try { _strategy = reader.CreateStrategyFromFile(filename); _strategyController.SetStrategy(_strategy); _store->clear(); fillStore(); } catch(std::exception &e) { Gtk::MessageDialog dialog(*this, e.what(), false, Gtk::MESSAGE_ERROR); dialog.run(); } } }
void GSteg::on_action_encode() { if(image_in.is_open()) { Gtk::FileChooserDialog dialog(("Save Image"), Gtk::FILE_CHOOSER_ACTION_SAVE); dialog.add_button(Gtk::Stock::SAVE, Gtk::RESPONSE_ACCEPT); dialog.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); Glib::RefPtr<Gtk::FileFilter> filter = Gtk::FileFilter::create(); filter->add_mime_type("image/bmp"); filter->set_name("Images"); dialog.add_filter (filter); const int response = dialog.run(); dialog.hide(); switch(response) { case Gtk::RESPONSE_ACCEPT: { image_out.open(dialog.get_filename().c_str()); image_out.write(header, headerEnd); image_out.seekp(2); image_out << char(size+gsteg_txt_in->get_buffer()->get_char_count()); image_out.seekp(34); image_out << char(dSize + gsteg_txt_in->get_buffer()->get_char_count()); image_out.seekp(headerEnd); image_out << char(3); if((int)gsteg_txt_in->get_buffer()->get_char_count()==0) { msgBox("TextView is empty. Please enter some text."); break; } image_out.write(reinterpret_cast<const char*>(gsteg_txt_in->get_buffer()->get_text().c_str()), gsteg_txt_in->get_buffer()->get_char_count()); image_out << char(7); image_out.write(eBuf, dSize); image_in.close(); image_out.close(); delete[] eBuf; gsteg_image->clear(); msgBox("Encode successful.", "Encode success", Gtk::MESSAGE_INFO); } break; default: break; } } else if(image_in.fail()) { msgBox("Unable to load image", "The file you selected is unable to be read. Please check and try again", "File error", Gtk::MESSAGE_ERROR); } }
void genericFilechooserWindow::setMXFFilter ( void ) { // filter for MXF files Glib::RefPtr<Gtk::FileFilter> filter = Gtk::FileFilter::create(); filter->set_name("MXF Container"); filter->add_mime_type("application/mxf");//MXF Container filter->add_pattern("*.mxf"); // add the filters to the filechooser add_filter(filter); }
void filechooserDialog::setXMLFilter ( void ) { // filter for any xml files Glib::RefPtr<Gtk::FileFilter> filter = Gtk::FileFilter::create(); filter->set_name("Any XML source"); filter->add_mime_type("text/xml");//xml mime type filter->add_pattern("*.xml"); // add the filters to the filechooser add_filter(filter); }
void filechooserDialog::setBiMFilter ( void ) { // filter for any bin files Glib::RefPtr<Gtk::FileFilter> filter = Gtk::FileFilter::create(); filter->set_name("Any BiM source"); filter->add_mime_type("application/octet-stream");// RFC2046 filter->add_pattern("*.bin"); filter->add_pattern("*.txt"); // add the filters to the filechooser add_filter(filter); }
void genericFilechooserWindow::setAudioFilter ( void ) { // filter for audio files Glib::RefPtr<Gtk::FileFilter> filter = Gtk::FileFilter::create(); filter->set_name("Audio"); filter->add_mime_type("audio/*"); filter->add_pattern("*.mp3"); filter->add_pattern("*.ogg"); filter->add_pattern("*.wav"); filter->add_pattern("*.wma"); filter->add_pattern("*.pcm"); // add the filters to the filechooser add_filter(filter); }
void ImagePlaneWindow::onSaveFitsButton() { Gtk::FileChooserDialog dialog("Select a measurement set"); dialog.set_transient_for(*this); //Add response buttons the the dialog: dialog.add_button("_Cancel", Gtk::RESPONSE_CANCEL); dialog.add_button("_Save", Gtk::RESPONSE_OK); Glib::RefPtr<Gtk::FileFilter> fitsFilter = Gtk::FileFilter::create(); fitsFilter->set_name("Flexible Image Transport System (*.fits)"); fitsFilter->add_pattern("*.fits"); fitsFilter->add_mime_type("image/fits"); dialog.add_filter(fitsFilter); if(dialog.run() == Gtk::RESPONSE_OK) { const std::string filename = dialog.get_filename(); Image2DCPtr image = _heatMapPlot.Image(); image->SaveToFitsFile(filename); } }
void EditStrategyWindow::onSaveClicked() { Gtk::FileChooserDialog dialog(*this, "Save strategy", Gtk::FILE_CHOOSER_ACTION_SAVE); dialog.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); dialog.add_button("Save", Gtk::RESPONSE_OK); Glib::RefPtr<Gtk::FileFilter> filter = Gtk::FileFilter::create(); filter->set_name("RFI strategies"); filter->add_pattern("*.rfis"); filter->add_mime_type("text/rfistrategy+xml"); dialog.add_filter(filter); int result = dialog.run(); if(result == Gtk::RESPONSE_OK) { rfiStrategy::StrategyWriter writer; std::string filename(dialog.get_filename()); if(filename.find('.') == std::string::npos) filename += ".rfis"; writer.WriteToFile(*_strategy, filename); } }
std::string MainWindow::run_open_file_dialog(const std::string& title, Gtk::FileChooserAction action) { Gtk::FileChooserDialog dialog(title, action); dialog.set_transient_for(*this); dialog.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); dialog.add_button(Gtk::Stock::OPEN, Gtk::RESPONSE_OK); Glib::RefPtr<Gtk::FileFilter> filter = Gtk::FileFilter::create(); filter->set_name("PNG files"); filter->add_mime_type("image/png"); dialog.add_filter(filter); int result = dialog.run(); if(m_current_directory != "") dialog.set_current_folder(m_current_directory); if(result == Gtk::RESPONSE_OK) { m_current_directory = dialog.get_current_folder(); return dialog.get_filename(); } return ""; }
void GSteg::on_action_file_open() { Gtk::FileChooserDialog dialog("Open image", Gtk::FILE_CHOOSER_ACTION_OPEN); dialog.add_button (Gtk::Stock::OPEN, Gtk::RESPONSE_ACCEPT); dialog.add_button (Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); Glib::RefPtr<Gtk::FileFilter> filter = Gtk::FileFilter::create(); filter->add_mime_type("image/bmp"); filter->set_name("Images"); dialog.add_filter (filter); const int response = dialog.run(); dialog.hide(); switch (response) { case Gtk::RESPONSE_ACCEPT: { if(image_in.is_open()) { Glib::ustring pstr = "Image already loaded."; Glib::ustring title = "Image load error."; Glib::ustring sstr = "An image is already loaded, proceed?"; gsteg_message_box = (new Gtk::MessageDialog(pstr, false, Gtk::MESSAGE_WARNING, Gtk::BUTTONS_OK_CANCEL)); gsteg_message_box->set_title(title); gsteg_message_box->set_secondary_text(sstr); int response = gsteg_message_box->run(); switch(response) { case Gtk::RESPONSE_OK: { gsteg_image->set(dialog.get_filename()); image_in.close(); image_in.open(dialog.get_filename().c_str()); gsteg_message_box->hide(); } break; case Gtk::RESPONSE_CANCEL: { gsteg_message_box->hide(); } break; default: break; } } if(!image_in.is_open()) { gsteg_image->set(dialog.get_filename()); image_in.open(dialog.get_filename().c_str()); image_in.seekg(10); headerEnd = image_in.peek(); image_in.seekg(0, std::ios::end); size = image_in.tellg(); header = new char[headerEnd]; dSize = int(size)-headerEnd; eBuf = new char [dSize]; image_in.seekg(0, std::ios::beg); image_in.read(header, headerEnd); image_in.seekg(headerEnd); image_in.read(eBuf, int(size)-headerEnd); } else if(image_in.fail()) { msgBox("Unable to load image", "The file you selected is unable to be read. Please check and try again", "File error", Gtk::MESSAGE_ERROR); } } break; default: break; } }
void genericFilechooserWindow::setVideoFilter ( void ) { // filter for video files Glib::RefPtr<Gtk::FileFilter> filter = Gtk::FileFilter::create(); filter->set_name("Video"); filter->add_mime_type("video/*"); // RAW Video types filter->add_mime_type("video/x-raw-yuv");//YUV or YCbCr video filter->add_mime_type("video/x-raw-rgb");//RGB video // Encoded Video types filter->add_mime_type("video/x-3ivx"); //3ivx video filter->add_mime_type("video/x-divx"); //divx video filter->add_mime_type("video/x-dv"); //digital video filter->add_mime_type("video/x-ffv");//ffmpeg video filter->add_mime_type("video/x-h263");//H.263 video filter->add_mime_type("video/x-h264");//H.264 video filter->add_mime_type("video/x-huffyuv");//Huffyuv video filter->add_mime_type("video/x-indeo");//Indeo video filter->add_mime_type("video/x-intel-h263");//H.263 video Intel variant filter->add_mime_type("video/x-intel-h263");//Motion JPEG video filter->add_mime_type("video/x-jpeg");//H.263 video Intel variant filter->add_mime_type("video/mpeg");//MPEG video filter->add_mime_type("video/x-msmpeg");//MPEG4 Microsoft variant filter->add_mime_type("video/x-msvideocodec");//Microsoft Video 1 filter->add_mime_type("video/x-pn-realvideo");//Realmedia video filter->add_mime_type("video/x-rle");//RLE Animation video filter->add_mime_type("video/x-svq");//Sorenson video filter->add_mime_type("video/x-tarkin");//Tarkin video filter->add_mime_type("video/x-rle");//Theora video filter->add_mime_type("video/x-theora");//RLE Animation video filter->add_mime_type("video/x-vp3");//VP3 video filter->add_mime_type("video/x-wmv");//Windows Media Video filter->add_mime_type("video/x-xvid");//Xvid video //Multimedia/Video Container types filter->add_mime_type("video/x-ms-asf");//Advanced Streaming Format filter->add_mime_type("video/x-msvideo");//AVI Container filter->add_mime_type("video/x-matroska");//Matroska (MKV) filter->add_mime_type("video/ogg");//Ogg container filter->add_mime_type("video/quicktime");//Apple container filter->add_mime_type("video/vnd.rn-realmedia");//Realmedia container filter->add_mime_type("application/mxf");//MXF Container // add the filters to the filechooser add_filter(filter); }