Exemplo n.º 1
0
FilenameComponent::FilenameComponent (const String& name,
                                      const File& currentFile,
                                      const bool canEditFilename,
                                      const bool isDirectory,
                                      const bool isForSaving,
                                      const String& fileBrowserWildcard,
                                      const String& suffix,
                                      const String& textWhenNothingSelected)
    : Component (name),
      maxRecentFiles (30),
      isDir (isDirectory),
      isSaving (isForSaving),
      isFileDragOver (false),
      wildcard (fileBrowserWildcard),
      enforcedSuffix (suffix)
{
    addAndMakeVisible (filenameBox);
    filenameBox.setEditableText (canEditFilename);
    filenameBox.addListener (this);
    filenameBox.setTextWhenNothingSelected (textWhenNothingSelected);
    filenameBox.setTextWhenNoChoicesAvailable (TRANS ("(no recently selected files)"));

    setBrowseButtonText ("...");

    setCurrentFile (currentFile, true, dontSendNotification);
}
Exemplo n.º 2
0
void QtExtChooseFile::setup(const QString& title, const QString& button, const std::function<QString ()>& dialogCallback)
{
    QHBoxLayout* l = new QHBoxLayout(this);
    m_label = new QLabel(this);
    m_lineEdit = new QLineEdit(this);
    m_button = new QPushButton(this);

    l->addWidget(m_label);
    l->addWidget(m_lineEdit);
    l->addWidget(m_button);

    setLabel(title);
    setBrowseButtonText(button);
    setBrowseCallback(dialogCallback);

    QCompleter *completer = new QCompleter(this);
    QFileSystemModel* model = new QFileSystemModel(completer);
    model->setRootPath(QDir::homePath());
    completer->setModel(model);
    m_lineEdit->setCompleter(completer);

    connect(m_button, &QPushButton::clicked, this, &QtExtChooseFile::buttonClicked);
    connect(m_lineEdit, &QLineEdit::textChanged, this, &QtExtChooseFile::valueChanged);
}