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); }
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); }