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);
}
示例#2
0
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();
		}
	}
}
示例#3
0
文件: gsteg.cpp 项目: elken/GSteg
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);
}
示例#5
0
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);
}
示例#6
0
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);
	}
}
示例#9
0
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);
		
	}
}
示例#10
0
	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 "";
	}
示例#11
0
文件: gsteg.cpp 项目: elken/GSteg
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);
}