void BinaryDataEditor::import_value()
{
  mforms::FileChooser chooser(mforms::OpenFile);
  
  chooser.set_title("Import Field Data");
  if (chooser.run_modal())
  {
    std::string path = chooser.get_path();
    GError *error = 0;
    char *data;
    gsize length;
    
    if (!g_file_get_contents(path.c_str(), &data, &length, &error))
    {
      mforms::Utilities::show_error(base::strfmt("Could not import data from %s", path.c_str()),
                                    error->message, "OK");
      g_error_free(error);
    }
    else
    {
      assign_data(data, length, true);
      tab_changed();
    }
  }
}
void playlistWindow::on_saveplaylist_clicked(void){
	static Glib::ustring working_dir = Glib::get_home_dir();
  
  Gtk::FileChooserDialog chooser(*this,
    "Save your playlist", Gtk::FILE_CHOOSER_ACTION_SAVE);
  chooser.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
  chooser.add_button(Gtk::Stock::SAVE, Gtk::RESPONSE_OK);
  
  chooser.set_current_folder(working_dir);
  
  const int response = chooser.run();
  if(response == Gtk::RESPONSE_OK)
  {
		std::string filename = (isM3U(chooser.get_filename()))
				? chooser.get_filename()
				: chooser.get_filename()+".m3u";

		if (fileExists(filename)) {
			Gtk::MessageDialog dialog(*this, "File already exists",
          false /* use_markup */, Gtk::MESSAGE_QUESTION,
          Gtk::BUTTONS_OK_CANCEL);
			dialog.set_secondary_text("A file named \""+Glib::filename_display_basename(chooser.get_filename())+"\"alreay exists." );
			dialog.run();

			int result = dialog.run();

			//Handle the response:
			if (result == Gtk::RESPONSE_OK) {
				writeM3U(filename);
			}
		} else {
			writeM3U(filename);
		}
	}
}
//
// Called from AppleKeyPairGenContext
//
void BSafe::BSafeKeyPairGenContext::generate(
		const Context 	&context,
		BinaryKey		&pubBinKey,		// valid on successful return
		BinaryKey		&privBinKey,	// ditto
		uint32			&keySize)		// ditto
{
	/* these casts throw exceptions if the keys are of the 
	 * wrong classes, which is a major bogon, since we created
	 * the keys in the above generate() function */
	BSafeBinaryKey &bsPubBinKey = 
		dynamic_cast<BSafeBinaryKey &>(pubBinKey);
	BSafeBinaryKey &bsPrivBinKey = 
		dynamic_cast<BSafeBinaryKey &>(privBinKey);
	
    if (!initialized) {
		setupAlgorithm(context, keySize);
        check(B_GenerateInit(bsAlgorithm, chooser(), bsSurrender), true);
        initialized = true;
    }

	setRandom();
    check(B_GenerateKeypair(bsAlgorithm, 
		bsPubBinKey.bsKey(), 
		bsPrivBinKey.bsKey(), 
		bsRandom, 
		bsSurrender), true);
}
Example #4
0
void PixelMapCreator::saveAsPng( String name, OwnedArray<Slice>& slices, Point<int> resolution )
{
	Image pixelMap = Image( Image::PixelFormat::ARGB, resolution.x, resolution.y, true );
	Graphics g( pixelMap );

	//create a sub array to get a better distribution of colors when lots of slices are disabled
	Array<Slice*> visibleSlices;
	for ( auto slice : slices )
		if ( !slice->screenIsCollapsed && slice->enabled )
			visibleSlices.add( slice );
	
	for ( auto visibleSlice : visibleSlices )
	{
		PixelMapButton b( *visibleSlice );
		b.updatePath( resolution );
		b.paint( g, visibleSlices.indexOf( visibleSlice ) / (float) visibleSlices.size() );
	}

	File tempFile = File( File::getSpecialLocation( File::SpecialLocationType::userDesktopDirectory ).getFullPathName() + "/" + name + ".png" );
	File pngFile;
	FileChooser chooser("Export Pixelmap as...", tempFile, "*.png");
	if ( chooser.browseForFileToSave( true ) )
	{
		pngFile = chooser.getResult();
		if ( pngFile.exists() )
			pngFile.deleteFile();
		if ( !pngFile.hasFileExtension( "png" ) )
			pngFile = File( pngFile.getParentDirectory().getFullPathName() + "/" + pngFile.getFileNameWithoutExtension() + ".png" );
		FileOutputStream stream( pngFile );
		PNGImageFormat pngWriter;
		pngWriter.writeImageToStream( pixelMap, stream );
	}
}
std::string EntityChooser::ChooseEntity(const std::string& preSelectedEntity)
{
	gtkutil::Dialog dlg(_("Select Entity"), GlobalMainFrame().getTopLevelWindow());

	Gdk::Rectangle rect = gtkutil::MultiMonitor::getMonitorForWindow(GlobalMainFrame().getTopLevelWindow());

	dlg.set_default_size(static_cast<int>(rect.get_width()/2), static_cast<int>(2*rect.get_height()/3));

	// Instantiate a new chooser class
	EntityChooserPtr chooser(new EntityChooser);
	chooser->setSelectedEntity(preSelectedEntity);

	// add this to the dialog window
	IDialog::Handle handle = dlg.addElement(chooser);

	if (dlg.run() == IDialog::RESULT_OK)
	{
		return dlg.getElementValue(handle);
	}
	else
	{
		// Cancelled
		return "";
	}
}
void EditSearchEngine::chooseIcon()
{
    IconChooser chooser(this);
    QIcon icon = chooser.getIcon();

    if (!icon.isNull()) {
        setIcon(icon);
    }
}
void PointViewerMainWindow::chooseBackground()
{
    QColor originalColor = m_pointView->background();
    QColorDialog chooser(originalColor, this);
    connect(&chooser, SIGNAL(currentColorChanged(QColor)),
            m_pointView, SLOT(setBackground(QColor)));
    if (chooser.exec() == QDialog::Rejected)
        m_pointView->setBackground(originalColor);
}
Example #8
0
EGLConfig q_configFromGLFormat(EGLDisplay display, const QSurfaceFormat &format, bool highestPixelFormat, int surfaceType)
{
    QEglConfigChooser chooser(display);
    chooser.setSurfaceFormat(format);
    chooser.setSurfaceType(surfaceType);
    chooser.setIgnoreColorChannels(highestPixelFormat);

    return chooser.chooseConfig();
}
bool CodeEditor::SaveAs(void)
{
	FileChooser chooser(TRANS("Specify a file to save to..."), File::getSpecialLocation(File::userDocumentsDirectory));
	if(chooser.browseForFileToSave(true)){
		file = chooser.getResult();		//set the doucument's file to the new one
		return Save();
	}

	return false;
}
void BSafe::BSafeContext::setRandom()
{
    if (bsRandom == NULL) {
        check(B_CreateAlgorithmObject(&bsRandom));
        check(B_SetAlgorithmInfo(bsRandom, AI_X962Random_V0, NULL_PTR));
        check(B_RandomInit(bsRandom, chooser(), bsSurrender));
        uint8 seed[BSAFE_RANDSIZE];
		session().getRandomBytes(BSAFE_RANDSIZE, seed);
        check(B_RandomUpdate(bsRandom, seed, sizeof(seed), bsSurrender));
    }
}
void VectorLayerWidget::chooseVectorResource() {
  AssetChooser chooser(this, AssetChooser::Open, AssetDefs::Vector,
                       kProductSubtype);
  if (chooser.exec() != QDialog::Accepted)
    return;

  QString newpath;
  if (!chooser.getFullPath(newpath))
    return;

  vector_resource_label->setText(shortAssetName(newpath));
}
Example #12
0
//---------------------------------------
//checks if current king is in check
int validation :: AmIInCheck()
{

    //turn=1 white
    // Find the king
    Tile *temp1 = new Tile();
    int kingrow;
    int kingcol;
    int KtileNum;
    if(!turn)    //turn==1 means white
    {
        kingrow=B/8;
        kingcol=B%8;
        temp1=tile[kingrow][kingcol];
        KtileNum=temp1->tileNum;
    }
    else    //turn==0 means black
    {
        kingrow=W/8;
        kingcol=W%8;
        temp1=tile[kingrow][kingcol];
        KtileNum=temp1->tileNum;
    }
    //run through opps players pieces and check if I'm(turn) is in check
    for (int Row = 0; Row < 8; ++Row) {
        for (int Col = 0; Col < 8; ++Col) {
            if (tile[Row][Col]->piece != 0)
            {
                if (tile[Row][Col]->pieceColor !=turn)
                {
                    zero=0;
                    max=0;
                    while(zero<30)
                        exp[zero++]=0;

                    if(chooser(tile[Row][Col]))
                    {
                        for(i=0; i<max; i++)
                        {
                            if(KtileNum==exp[i])
                                return 1;
                        }
                    }
                }
            }
        }
    }
    return 0;


}
Example #13
0
void MainContentComponent::buttonClicked(Button* button)
{
	 if (&readFileButton == button) {
		  FileChooser chooser("Choose an image file to display...");
		  if (chooser.browseForFileToOpen()) {
				origImage = ImageFileFormat::loadFrom(chooser.getResult());

				if (origImage.isValid()) {
					 procImage = origImage.createCopy();
					 imageComponent.setImage(procImage);
				}
		  }
	 } else if (&writeFileButton == button) {
		  if (procImage.isValid()) {
				FileChooser chooser("Write processed image to file...");
				
				if (chooser.browseForFileToSave(true)) {
					 FileOutputStream stream(chooser.getResult());
					 PNGImageFormat pngImageFormat;
					 pngImageFormat.writeImageToStream(procImage, stream);
				}
		  }
	 }
}
Example #14
0
//--------------------------------------
//checks if opposite king is in check
int validation :: IsInCheck()
{
    // Find the king
    Tile *temp1 = new Tile();
    int kingrow;
    int kingcol;
    int KtileNum;
    if(turn)    //turn==1 means white
    {
        kingrow=B/8;
        kingcol=B%8;
        temp1=tile[kingrow][kingcol];
        KtileNum=temp1->tileNum;
    }
    else    //turn==0 means black
    {
        kingrow=W/8;
        kingcol=W%8;
        temp1=tile[kingrow][kingcol];
        KtileNum=temp1->tileNum;
    }
    // Run through the current turn player pieces and see if any can take the king
    for (int Row = 0; Row < 8; ++Row) {
        for (int Col = 0; Col < 8; ++Col) {
            if (tile[Row][Col]->piece != 0)
            {
                if (tile[Row][Col]->pieceColor ==turn)
                {
                    zero=0;
                    max=0;
                    while(zero<30)
                        exp[zero++]=0;
                    if(chooser(tile[Row][Col]))
                    {
                        for(i=0; i<max; i++)
                        {
                            if(KtileNum==exp[i])
                                return 1;
                        }
                    }
                }
            }
        }
    }
    return 0;


}
void MagicView::OnViewBackColor() 
{
   ModelView* view = GetModelViewByIndex(view_focus);

   if (view) {
      ActiveWindow*  win   = (ActiveWindow*) view->GetWindow();
      Color          c     = win->GetBackColor();
      COLORREF       crgb  = RGB(c.Red(), c.Green(), c.Blue());
      CColorDialog   chooser(crgb);

      if (chooser.DoModal() == IDOK) {
         crgb = chooser.GetColor();
         win->SetBackColor( Color(GetRValue(crgb), GetGValue(crgb), GetBValue(crgb)) );
      }
   }
}
//
// DSA Parameter Generation
//
void BSafe::BSafeKeyPairGenContext::generate(
	const Context &context, 
	uint32 bitSize,
    CssmData &params,
    uint32 &attrCount, 
	Context::Attr * &attrs)
{
	assert(context.algorithm() == CSSM_ALGID_DSA);
	
    B_ALGORITHM_OBJ genAlg = NULL;
    B_ALGORITHM_OBJ result = NULL;

    try {
        check(B_CreateAlgorithmObject(&genAlg));

        B_DSA_PARAM_GEN_PARAMS genParams;
        genParams.primeBits = bitSize;
        check(B_SetAlgorithmInfo(genAlg, AI_DSAParamGen, POINTER(&genParams)));
        setRandom();
        check(B_GenerateInit(genAlg, chooser(), bsSurrender), true);
        check(B_CreateAlgorithmObject(&result));
        check(B_GenerateParameters(genAlg, result, bsRandom, bsSurrender));

        // get parameters out of algorithm object
        A_DSA_PARAMS *kParams = NULL;
        check(B_GetAlgorithmInfo((POINTER *)&kParams, result, AI_DSAKeyGen), true);

        // shred them into context attribute form
        attrs = normAllocator->alloc<Context::Attr>(3);
        attrs[0] = Context::Attr(CSSM_ATTRIBUTE_PRIME,
                   *BSafeItem(kParams->prime).copyp<CssmData>(*normAllocator));
        attrs[1] = Context::Attr(CSSM_ATTRIBUTE_SUBPRIME,
                   *BSafeItem(kParams->subPrime).copyp<CssmData>(*normAllocator));
        attrs[2] = Context::Attr(CSSM_ATTRIBUTE_BASE,
                   *BSafeItem(kParams->base).copyp<CssmData>(*normAllocator));
        attrCount = 3;

        // clean up
        B_DestroyAlgorithmObject(&result);
        B_DestroyAlgorithmObject(&genAlg);
    } catch (...) {
        // clean up
        B_DestroyAlgorithmObject(&result);
        B_DestroyAlgorithmObject(&genAlg);
        throw;
    }
}
void playlistWindow::on_addtoplaylist_clicked(void) {
	  static Glib::ustring working_dir = Glib::get_home_dir();
  
  Gtk::FileChooserDialog chooser(*this,
    "Select a media to add in the playlist", Gtk::FILE_CHOOSER_ACTION_OPEN);
  chooser.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
  chooser.add_button(Gtk::Stock::OK, Gtk::RESPONSE_OK);
  
  chooser.set_select_multiple(true);
  chooser.set_current_folder(working_dir);
  
  const int response = chooser.run();
  if(response == Gtk::RESPONSE_OK)
  {
    working_dir = chooser.get_current_folder();
		int countSelected = chooser.get_filenames().size();
		for (int i=0;i<countSelected;i++) {
			// create path to the file to play
			std::string filename = "file://"+chooser.get_filenames().at(i);
			// store the path
			pathfilestoplay.push_back(filename);
			//Fill the TreeView's model from the end
			Gtk::TreeModel::Row row = *(playlistStore->append());

			// track position
			row[playlistColumns.playlistidcol] = getSize();
			// find last dot in filename "name"
			int lastindex = Glib::filename_display_basename(chooser.get_filenames().at(i)).find_last_of(".");
			// copy what comes before last dot	--> file name
			std::string name = Glib::filename_display_basename(chooser.get_filenames().at(i)).substr (0,lastindex);
			row[playlistColumns.playlistnamecol] = name;
			row[playlistColumns.playlistlengthcol] = "unknown";
			// find last dot in filename
			lastindex = filename.find_last_of(".");
			// copy what comes after last dot	--> file extension
			std::string fileextension = filename.substr (lastindex+1,filename.size()-(lastindex+1));
			//lowerize the character
			for(int j = 0; fileextension[j] != '\0'; j++){
				fileextension[j] = tolower(fileextension[j]);
			}
			row[playlistColumns.playlistformatcol] = fileextension;
			row[playlistColumns.playlistdateofcreationcol] = "unknown";
		}
  }
	colorizePlaylist();
}
ETHEntity* ETHPhysicsSimulator::GetClosestContact(const Vector2& a, const Vector2& b, Vector2& point, Vector2& normal, const str_type::string& semicolonSeparatedIgnoreList)
{
	if (a == b)
		return 0;
	ETHEntityNameArrayChooser chooser(semicolonSeparatedIgnoreList, true);
	ETHRayCastCallback rayCastCallback(a, b, &chooser);
	
	const b2Vec2& p1 = rayCastCallback.GetScaledA();
	const b2Vec2& p2 = rayCastCallback.GetScaledB();
	
	// verify it again since values have been scaled and this
	// is an assert test in the box2D code
	if (b2Vec2(p2 - p1).LengthSquared() <= 0.0f)
		return 0;
	
	m_world->RayCast(&rayCastCallback, p1, p2);
	return rayCastCallback.GetClosestContact(point, normal);
}
Example #19
0
File: GUI.cpp Project: talech/460
void
GUI::importCB2(){
	string filename;
	Fl_File_Chooser chooser(".","Valid Files (*.{surfrev,extrude,obj})",Fl_File_Chooser::SINGLE, "Open file?");
	chooser.show();
	while(chooser.shown()){ Fl::wait(); }

	if ( chooser.value() != NULL ){
		filename = chooser.value();
		bool load = control->addMesh(filename);
		if(!load){
			char msg[] = "Sorry. Invalid file.";
			fl_alert(msg);
		}
	}
	view->redraw();

}
void BinaryDataEditor::export_value()
{
  mforms::FileChooser chooser(mforms::SaveFile);
  
  chooser.set_title("Export Field Data");
  if (chooser.run_modal())
  {
    std::string path = chooser.get_path();
    GError *error = 0;
    
    if (!g_file_set_contents(path.c_str(), _data, (gssize)_length, &error))
    {
      mforms::Utilities::show_error(base::strfmt("Could not export data to %s", path.c_str()),
                                    error->message, "OK");
      g_error_free(error);
    }
  }
}
Example #21
0
bool OwlNestSettings::updateFirmware(){
  DBG("Update firmware!");
  AlertWindow alert("Update Firmware", 
		    "Changing the firmware can make your OWL unresponsive! Are you sure you want to proceed?", 
		    juce::AlertWindow::InfoIcon);
  alert.addButton("Cancel", 0, juce::KeyPress(), juce::KeyPress());
  alert.addButton("Continue", 1, juce::KeyPress(), juce::KeyPress());
  if(alert.runModalLoop() == 1){
    alert.setVisible(false);
    FileChooser chooser("Select Firmware", ApplicationConfiguration::getApplicationDirectory(), "*.bin");
    if(chooser.browseForFileToOpen()){
      PropertySet* props = ApplicationConfiguration::getApplicationProperties();
      String options = props->getValue("firmware-dfu-options");
      File file = chooser.getResult();
      return deviceFirmwareUpdate(file, options);
    }
  }
  return false;
}
void InterfaceComponent::buttonClicked (juce::Button* button)
{
    if (button == &btnBrowse)
    {
        juce::FileChooser chooser ("Select the folder which contains the code files you want to modularise");
        
        if (chooser.browseForDirectory())
        {
            const juce::File folder (chooser.getResult());

            txtSourceFileFolder.setText (folder.getFullPathName().trim(), juce::sendNotification);
            txtDestinationFolder.setText (folder.getParentDirectory().getFullPathName().trim(), juce::sendNotification);

            files = Modulariser (folder, true).getFiles();

            fileListBox.setSelectedRows (juce::SparseSet<int>());
            fileListBox.updateContent();
        }
    }
    else if (button == &btnRefresh)
    {
        refresh();
    }
    else if (button == &btnGenerate)
    {
        const juce::String srcFolder (txtSourceFileFolder.getText().trim());
        const juce::String destFolder (txtDestinationFolder.getText().trim());

        if (srcFolder.isNotEmpty()
            && destFolder.isNotEmpty()
            && juce::File::isAbsolutePath (srcFolder)
            && juce::File::isAbsolutePath (destFolder))
        {
            Modulariser modulariser (files);

            modulariser.saveTo (juce::File (destFolder),
                                srcFolder,
                                txtModuleFilename.getText().trim(),
                                txtHeaderGuard.getText().trim(),
                                txtNamespace.getText().trim());
        }
    }
}
Example #23
0
EGLConfig QEglFSIntegration::chooseConfig(EGLDisplay display, const QSurfaceFormat &format)
{
    class Chooser : public QEglConfigChooser {
    public:
        Chooser(EGLDisplay display, QEglFSHooks *hooks)
            : QEglConfigChooser(display)
            , m_hooks(hooks)
        {
        }

    protected:
        bool filterConfig(EGLConfig config) const
        {
            return m_hooks->filterConfig(display(), config) && QEglConfigChooser::filterConfig(config);
        }

    private:
        QEglFSHooks *m_hooks;
    };

    Chooser chooser(display, QEglFSHooks::hooks());
    chooser.setSurfaceFormat(format);
    return chooser.chooseConfig();
}
Example #24
0
QString KisImportExportManager::importDocument(const QString& url,
                                               const QString& documentMimeType,
                                               KisImportExportFilter::ConversionStatus& status)
{
    // Find the mime type for the file to be imported.
    QString  typeName(documentMimeType);
    QUrl u(url);
    QMimeType t;
    if (documentMimeType.isEmpty()) {
        QMimeDatabase db;
        db.mimeTypeForFile(u.path(), QMimeDatabase::MatchExtension);
        if (t.isValid())
            typeName = t.name();
    }
    m_graph.setSourceMimeType(typeName.toLatin1()); // .latin1() is okay here (Werner)

    if (!m_graph.isValid()) {
        bool userCancelled = false;

        warnFile << "Can't open " << typeName << ", trying filter chooser";
        if (m_document) {
            if (!m_document->isAutoErrorHandlingEnabled()) {
                status = KisImportExportFilter::BadConversionGraph;
                return QString();
            }
            QByteArray nativeFormat = m_document->nativeFormatMimeType();

            QApplication::setOverrideCursor(Qt::ArrowCursor);
            KisFilterChooser chooser(0,
                                     KisImportExportManager::mimeFilter(nativeFormat, KisImportExportManager::Import,
                                                                        m_document->extraNativeMimeTypes()), nativeFormat, u);
            if (chooser.exec()) {
                QByteArray f = chooser.filterSelected().toLatin1();
                if (f == nativeFormat) {
                    status = KisImportExportFilter::OK;
                    QApplication::restoreOverrideCursor();
                    return url;
                }

                m_graph.setSourceMimeType(f);
            } else
                userCancelled = true;
            QApplication::restoreOverrideCursor();
        }

        if (!m_graph.isValid()) {
            errFile << "Couldn't create a valid graph for this source mimetype: "
                    << typeName;
            importErrorHelper(typeName, userCancelled);
            status = KisImportExportFilter::BadConversionGraph;
            return QString();
        }
    }

    KisFilterChain::Ptr chain(0);
    // Are we owned by a KisDocument?
    if (m_document) {
        QByteArray mimeType = m_document->nativeFormatMimeType();
        QStringList extraMimes = m_document->extraNativeMimeTypes();
        int i = 0;
        int n = extraMimes.count();
        chain = m_graph.chain(this, mimeType);
        while (i < n) {
            QByteArray extraMime = extraMimes[i].toUtf8();
            // TODO check if its the same target mime then continue
            KisFilterChain::Ptr newChain(0);
            newChain = m_graph.chain(this, extraMime);
            if (!chain || (newChain && newChain->weight() < chain->weight()))
                chain = newChain;
            ++i;
        }
    } else if (!d->importMimeType.isEmpty()) {
        chain = m_graph.chain(this, d->importMimeType);
    } else {
        errFile << "You aren't supposed to use import() from a filter!" << endl;
        status = KisImportExportFilter::UsageError;
        return QString();
    }

    if (!chain) {
        errFile << "Couldn't create a valid filter chain!" << endl;
        importErrorHelper(typeName);
        status = KisImportExportFilter::BadConversionGraph;
        return QString();
    }

    // Okay, let's invoke the filters one after the other
    m_direction = Import; // vital information!
    m_importUrl = url;  // We want to load that file
    m_exportUrl.clear();  // This is null for sure, as embedded stuff isn't
    // allowed to use that method
    status = chain->invokeChain();

    m_importUrl.clear();  // Reset the import URL

    if (status == KisImportExportFilter::OK)
        return chain->chainOutput();
    return QString();
}
Example #25
0
KisImportExportFilter::ConversionStatus KisImportExportManager::exportDocument(const QString& url, QByteArray& mimeType)
{
    bool userCancelled = false;

    // The import url should already be set correctly (null if we have a KisDocument
    // file manager and to the correct URL if we have an embedded manager)
    m_direction = Export; // vital information!
    m_exportUrl = url;

    KisFilterChain::Ptr chain;
    if (m_document) {
        // We have to pick the right native mimetype as source.
        QStringList nativeMimeTypes;
        nativeMimeTypes.append(m_document->nativeFormatMimeType());
        nativeMimeTypes += m_document->extraNativeMimeTypes();
        QStringList::ConstIterator it = nativeMimeTypes.constBegin();
        const QStringList::ConstIterator end = nativeMimeTypes.constEnd();
        for (; !chain && it != end; ++it) {
            m_graph.setSourceMimeType((*it).toLatin1());
            if (m_graph.isValid())
                chain = m_graph.chain(this, mimeType);
        }
    } else if (!m_importUrlMimetypeHint.isEmpty()) {
        dbgFile << "Using the mimetype hint:" << m_importUrlMimetypeHint;
        m_graph.setSourceMimeType(m_importUrlMimetypeHint);
    } else {
        QUrl u;
        u.setPath(m_importUrl);
        QMimeDatabase db;
        QMimeType t = db.mimeTypeForFile(u.path(), QMimeDatabase::MatchExtension);
        if (!t.isValid() || t.isDefault()) {
            errFile << "No mimetype found for" << m_importUrl;
            return KisImportExportFilter::BadMimeType;
        }
        m_graph.setSourceMimeType(t.name().toLatin1());

        if (!m_graph.isValid()) {
            warnFile << "Can't open" << t.name() << ", trying filter chooser";

            QApplication::setOverrideCursor(Qt::ArrowCursor);
            KisFilterChooser chooser(0, KisImportExportManager::mimeFilter(), QString(), u);
            if (chooser.exec())
                m_graph.setSourceMimeType(chooser.filterSelected().toLatin1());
            else
                userCancelled = true;

            QApplication::restoreOverrideCursor();
        }
    }

    if (!m_graph.isValid()) {
        errFile << "Couldn't create a valid graph for this source mimetype.";
        if (!d->batch && !userCancelled) {
            QMessageBox::critical(0, i18nc("@title:window", "Krita"), i18n("Could not export file: the export filter is missing."));
        }
        return KisImportExportFilter::BadConversionGraph;
    }

    if (!chain)   // already set when coming from the m_document case
        chain = m_graph.chain(this, mimeType);

    if (!chain) {
        errFile << "Couldn't create a valid filter chain to " << mimeType << " !" << endl;
        if (!d->batch) {
            QMessageBox::critical(0, i18nc("@title:window", "Krita"), i18n("Could not export file: the export filter is missing."));
        }
        return KisImportExportFilter::BadConversionGraph;
    }

    return chain->invokeChain();
}
Example #26
0
bool OwlNestSettings::downloadFromServer(CommandID commandID) {
    String nodeString, optionString, warningString;
    PropertySet* props = ApplicationConfiguration::getApplicationProperties();
    switch (commandID){
    case ApplicationCommands::checkForFirmwareUpdates:
      warningString = "Beware that this procedure can make your OWL unresponsive!";
      nodeString = "firmwares";
      optionString = props->getValue("firmware-dfu-options");
      break;
    case ApplicationCommands::checkForBootloaderUpdates:
      warningString = "Beware that this procedure can brick your OWL!";
      nodeString = "bootloaders";
      optionString = props->getValue("bootloader-dfu-options");
      break;
    default:
      return false;
    }
    
    String xmlFilename ("updates.xml");
    URL url(props->getValue("owl-updates-dir-url")+xmlFilename);
    ScopedPointer<XmlElement> xmlUpdates;
    if(url.isWellFormed())
      xmlUpdates = url.readEntireXmlStream(0);
    if(xmlUpdates == NULL) {
      AlertWindow::showMessageBoxAsync(AlertWindow::WarningIcon, "Connection Error", "Server connection failed");
      return false;
    }
    XmlElement* filesNode = xmlUpdates->getChildByName(nodeString);
    StringArray names;
    XmlElement* child = filesNode->getFirstChildElement();
    while(child != nullptr){
      names.add(child->getStringAttribute("name"));
      child = child->getNextElement();
    }
    AlertWindow popup("Download File From Server", "Choose file:", juce::AlertWindow::InfoIcon);
    popup.addButton("Cancel", 0, juce::KeyPress(), juce::KeyPress());
    popup.addButton("Download", 1, juce::KeyPress(), juce::KeyPress());
    popup.addComboBox("box", names);
    if(popup.runModalLoop()==0)
      return false;
    popup.setVisible(false);
    String selectedFilename(popup.getComboBoxComponent("box")->getText());
    URL fwUrl(props->getValue("owl-updates-dir-url")+selectedFilename);
    ScopedPointer<InputStream> strm;
    strm = fwUrl.createInputStream(0);
    if(strm == NULL){
      AlertWindow::showMessageBoxAsync(AlertWindow::WarningIcon, "Connection Error", "File unavailable", "Continue");
      return false;
    }
    File theTargetFile(ApplicationConfiguration::getApplicationDirectory().getChildFile(selectedFilename));
    FileChooser chooser("Save As", theTargetFile, "*.bin");
    bool succeeded = false;
    if(!chooser.browseForFileToSave(true))
      return false;
    theTargetFile = chooser.getResult();
    TemporaryFile temp (theTargetFile);
    ScopedPointer<FileOutputStream> out(temp.getFile().createOutputStream());
    if(out != nullptr) {
      out->writeFromInputStream(*strm, strm->getTotalLength());
      out = nullptr; // deletes the stream
      succeeded = temp.overwriteTargetFileWithTemporary();
    }
    if(!succeeded){
      AlertWindow::showMessageBoxAsync(AlertWindow::WarningIcon, "File Error", "Failed to save file", "Continue");
      return false;
    }
    if(AlertWindow::showOkCancelBox(AlertWindow::QuestionIcon, "Update Device", 
				    "Would you like to update your OWL with this binary now? "+warningString, "Yes", "No"))
    {
        DBG("pathName"<< theTargetFile.getFullPathName());
        DBG("optionString " << optionString);
        return deviceFirmwareUpdate(theTargetFile, optionString);
    }
    return true;
}
Example #27
0
void FindAndReplaceShader::onChooseReplace(GtkWidget* widget, FindAndReplaceShader* self) {
	// Construct the modal dialog, enters a main loop
	ShaderChooser chooser(NULL, GTK_WINDOW(self->getWindow()), self->_replaceEntry);
}
Example #28
0
void TrackComponent::mouseDown(const MouseEvent &e) {

	ModifierKeys modifiers = ModifierKeys::getCurrentModifiersRealtime();

    int posX;
	// check the mod keys ..
	if (modifiers.isPopupMenu() || modifiers.isCtrlDown())
	{
		ScopedPointer<PopupMenu> trackMenu_ = new PopupMenu();
		trackMenu_->clear();
		trackMenu_->addCommandItem(&_commands, MainWindow::showMixer);
		trackMenu_->addItem(1, "Add Region", true);
        MouseEvent ev = e.getEventRelativeTo(this);
        for(auto region : _regionComponents)
        {
            posX = ev.x;
            region->setBroughtToFrontOnMouseClick(true);
            if(region->getPositionX() < posX && posX < (region->getPositionX() + region->getRegionWidth()))
            {
                trackMenu_->addItem(2, "Remove Region", true);
            }
        }
        switch (trackMenu_->show())
        {
            case 1:
            {
                FileChooser chooser("Select an audio file to add...",
                                    File::nonexistent,
                                    "*.wav; *aif; *.flac");
                if (chooser.browseForFileToOpen()) {
                    File audioFile(chooser.getResult());
                    const String fileString = audioFile.getFullPathName();
                    String format;
                    if (fileString.contains(".wav"))
                        format = "WAV";
                    else if (fileString.contains(".aif") || fileString.contains(".aiff"))
                        format = "AIFF";
                    else if (fileString.contains(".flac"))
                        format = "FLAC";
                    AudioFormatManager formatManager;
                    formatManager.registerBasicFormats();
                    
                    AudioFormatReader* reader = formatManager.createReaderFor(audioFile);
                    Audio::Region* region = new Audio::SampleRegion(reader, 1, &audioFile);
                    Point<int> position = e.getPosition();
                    int x = position.getX();
                    
                    if (x > _mixerOffset)
                    {
                        int64 samplesRange = secondsToSamples(100, _sampleRate);
                        int64 positionSamples = pixelsToSamples(x - _mixerOffset, 100 * _pixelsPerClip, samplesRange);
                        
                        _track->add(positionSamples, region);
                        createRegionGUI(x, region, formatManager, audioFile);
                        getParentComponent()->resized();
                    }
                    else if (x < _mixerOffset)
                    {
                        _track->add(0, region);
                        createRegionGUI(_mixerOffset, region, formatManager, audioFile);
                        getParentComponent()->resized();
                    }
                }
            }
                break;
            case 2:
            {
                CriticalSection critical;
                critical.enter();
                for(size_t i = 0; i < _regionComponents.size(); ++i)
                {
                    
                    Rectangle<int> bounds_ = _regionComponents.at(i)->getBounds();
					posX = ev.x;
                    if((int)_regionComponents.at(i)->getPositionX() < posX && posX < ((int)_regionComponents.at(i)->getPositionX() + (int)_regionComponents.at(i)->getRegionWidth()))
                    {
                        _track->remove(_regionComponents.at(i)->getRegion(), _posX.at(i));
                        std::vector<RegionComponent*>::iterator regit = _regionComponents.begin() + i;
                        RegionComponent* component = _regionComponents.at(i);
                        removeChildComponent(_regionComponents.at(i));
                        _regionComponents.erase(regit);
                        delete component;
                        _regions.erase(_posX.at(i));
                        std::vector<int64>::iterator posit = _posX.begin() + i;;
                        _posX.erase(posit);
                        std::vector<int64>::iterator sampsit = _sizeSamps.begin() + i;;
                        _sizeSamps.erase(sampsit);
                    }
                }
                critical.exit();
            }
            default:
                break;
        }
    }
}
EGLConfig QEglFSIntegration::chooseConfig(EGLDisplay display, const QSurfaceFormat &format)
{
    QEglConfigChooser chooser(display);
    chooser.setSurfaceFormat(format);
    return chooser.chooseConfig();
}
Example #30
0
void SoundboardAudioProcessorEditor::buttonClicked(Button *buttonThatWasClicked)
{
    if (loadDirectoryButton == buttonThatWasClicked)
    {
        FileChooser chooser("Open...");
        if (chooser.browseForDirectory())
        {
            auto directory = chooser.getResult();
            if (directory.isDirectory())
            {
                processor.openDirectory(directory);
                table->updateContent();
                grid->updateContent();
            }
        }
    }
    else if (settingsButton == buttonThatWasClicked)
    {
        DialogWindow::LaunchOptions launchOptions;
        launchOptions.componentToCentreAround = this;
        launchOptions.content.setOwned(new SoundboardSettingsComponent(processor));
        launchOptions.content->setSize(640, 480);
        launchOptions.dialogBackgroundColour = Colours::black;
        launchOptions.dialogTitle = TRANS("Soundboard Settings");
        launchOptions.escapeKeyTriggersCloseButton = true;
        launchOptions.resizable = true;
        launchOptions.useNativeTitleBar = true;
        launchOptions.runModal();
    }
    else if (gridButton == buttonThatWasClicked)
    {
        gridButton->setEnabled(false);
        listButton->setEnabled(true);

        table->setVisible(false);
        grid->setVisible(true);
        grid->toFront(true);
        if (resizableCornerComponent)
        {
            resizableCornerComponent->toFront(false);
        }
    }
    else if (listButton == buttonThatWasClicked)
    {
        listButton->setEnabled(false);
        gridButton->setEnabled(true);

        grid->setVisible(false);
        table->setVisible(true);
        table->toFront(true);
        if (resizableCornerComponent)
        {
            resizableCornerComponent->toFront(false);
        }
    }
    else if (duckButton == buttonThatWasClicked) {
        bool ducking = processor.getOscManager()->getOscParameterValue("/ultraschall/soundboard/duck/enabled");
        processor.getOscManager()->setOscParameterValue("/ultraschall/soundboard/duck/enabled", !ducking);
        if (!ducking) {
            duckButton->setButtonText(FontAwesome_Comment);
        } else {
            duckButton->setButtonText(FontAwesome_Comment_O);
        }
    }
    else if (lockButton == buttonThatWasClicked) {
        processor.toggleLocked();
        if (processor.getLocked()) {
            lockButton->setButtonText(FontAwesome_Lock);
        } else {
            lockButton->setButtonText(FontAwesome_Unlock);
        }
    }
}