FilePickerWidget::FilePickerWidget(QWidget *parent) : QWidget(parent), _ui(new Ui::FilePickerWidget) { _ui->setupUi(this); _ui->optionsContainer->hide(); _model.setRootPath(QDir::rootPath()); // _model.setNameFilterDisables(false); _ui->treeView->setModel(&_model); _ui->treeView->installEventFilter(this); QSettings settings; setCurrentPath( settings.value("app/file_browse_last", QDir::homePath()).toString()); _completer.setModel(&_model); _completer.setCompletionMode(QCompleter::InlineCompletion); _completer.setCaseSensitivity(Qt::CaseSensitive); _ui->filterLineEdit->setCompleter(&_completer); _ui->treeView->setColumnWidth(0, 250); _ui->filterLineEdit->setFocus(); connect(&_model, &CustomFileSystemModel::dataChanged, [&](const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles) { Q_UNUSED(topLeft); Q_UNUSED(bottomRight); if(!roles.isEmpty() && (roles.first() == Qt::CheckStateRole)) emit selectionChanged(); }); connect(_ui->filterLineEdit, &QLineEdit::textEdited, this, &FilePickerWidget::updateFilter); connect(_ui->showHiddenCheckBox, &QCheckBox::toggled, [&](const bool toggled) { if(toggled) _model.setFilter(_model.filter() | QDir::Hidden); else _model.setFilter(_model.filter() & ~QDir::Hidden); }); connect(_ui->showSystemCheckBox, &QCheckBox::toggled, [&](const bool toggled) { if(toggled) _model.setFilter(_model.filter() | QDir::System); else _model.setFilter(_model.filter() & ~QDir::System); }); connect(_ui->hideLinksCheckBox, &QCheckBox::toggled, [&](const bool toggled) { if(toggled) _model.setFilter(_model.filter() | QDir::NoSymLinks); else _model.setFilter(_model.filter() & ~QDir::NoSymLinks); }); connect(_ui->showOptionsButton, &QPushButton::clicked, [&]() { _ui->optionsContainer->setVisible(!_ui->optionsContainer->isVisible()); }); connect(_ui->filterLineEdit, &QLineEdit::returnPressed, [&]() { if(_completer.currentCompletion().isEmpty()) _ui->treeView->setFocus(); }); connect(_ui->homeButton, &QPushButton::clicked, [&]() { setCurrentPath(QDir::homePath()); }); }
void GuiBehind::changeDestinationFolder() { // Show system dialog for folder selection QString dirname = QFileDialog::getExistingDirectory(mView, "Change folder", ".", QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); if (dirname == "") return; #ifdef SYMBIAN // Disable saving on C: if (dirname.toUpper().startsWith("C:")) { setMessagePageTitle("Destination"); setMessagePageText("Receiving data on C: is disabled for security reasons. Please select another destination folder."); setMessagePageBackState("settings"); emit gotoMessagePage(); return; } #endif // Set the new folder as current QDir::setCurrent(dirname); // Save the new setting setCurrentPath(dirname); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); QFont f("unexistent"); f.setStyleHint(QFont::Monospace); ui->ui_inputPlainTextEdit->setFont(f); ui->ui_outputPlainTextEdit->setFont(f); setCurrentPath(QString()); setModified(false); connect(ui->ui_sourceEditTableWidget, SIGNAL(cursorPositionChanged(int,int)), this, SLOT(cursorPositionChanged(int,int))); connect(ui->ui_sourceEditTableWidget, SIGNAL(textChanged()), this, SLOT(textChanged())); connect(ui->ui_newFileAction, SIGNAL(triggered()), this, SLOT(newFile())); connect(ui->ui_openFileAction, SIGNAL(triggered()), this, SLOT(openFile())); connect(ui->ui_saveFileAction, SIGNAL(triggered()), this, SLOT(saveFile())); connect(ui->ui_saveAsAction, SIGNAL(triggered()), this, SLOT(saveFileAs())); connect(ui->ui_quitAction, SIGNAL(triggered()), this, SLOT(close())); connect(ui->ui_setInterpreterAction, SIGNAL(triggered()), this, SLOT(setInterpreter())); connect(ui->ui_runInterpreterAction, SIGNAL(triggered()), this, SLOT(runInterpreter())); }
void MainWindow::openFile() { if(saveChanges()) { QFileDialog openDialog(this); openDialog.setWindowTitle("Open File"); openDialog.setFileMode(QFileDialog::ExistingFile); openDialog.setNameFilters(QStringList() << "Rail Files (*.rail)" << "Text Files (*.txt)" << "All Files (*.*)"); if(openDialog.exec() && !openDialog.selectedFiles().isEmpty()) { QString filePath = openDialog.selectedFiles().first(); QFile file(filePath); if(file.open(QIODevice::ReadOnly | QIODevice::Text)) { setCurrentPath(filePath); ui->ui_sourceEditTableWidget->clear(); ui->ui_inputPlainTextEdit->clear(); ui->ui_outputPlainTextEdit->clear(); ui->ui_sourceEditTableWidget->setPlainText(file.readAll()); setModified(false); } file.close(); } } }
bool MainWindow::savePath(const QString &path) { if (!controller) return false; if (path.isEmpty()) return showSaveAsDialog(); const FileFormat *format = FileFormats.findFormatForFilename(path); if (format->isExportLossy()) { QString message = tr("This map is being saved as a \"%1\" file. Information may be lost.\n\nPress Yes to save in this format.\nPress No to choose a different format.").arg(format->description()); int result = QMessageBox::warning(this, tr("Warning"), message, QMessageBox::Yes, QMessageBox::No); if (result != QMessageBox::Yes) return showSaveAsDialog(); } if (!controller->save(path)) return false; setMostRecentlyUsedFile(path); setHasAutosaveConflict(false); removeAutosaveFile(); if (path != currentPath()) { setCurrentPath(path); removeAutosaveFile(); } setHasUnsavedChanges(false); return true; }
void FilePickerWidget::reset() { _model.reset(); _ui->treeView->reset(); QSettings settings; setCurrentPath( settings.value("app/file_browse_last", QDir::homePath()).toString()); }
void EnemyObject::setFixPath(vector<int>& p) { resetPath(fixPath); for (unsigned int i = 0; i < p.size(); i++) { fixPath.push_back(p[i]); } setCurrentPath(fixPath); }
//-------------------------------------------------------------------------- void BaseFileDialog::readConfig() { Real defaultSplitterPosition = StrConv::fromString<Real>( mSplitterH->getUserString("DefaultPosition")); if(!getConfigSection().empty()) { UISettings& ui = UISettings::getSingleton(); setCurrentPath( ui.getSetting<String>("CurrentPath", getConfigSection(), mDefaultPath)); setCurrentFilter( ui.getSetting<size_t>("CurrentFilter", getConfigSection(), mDefaultFilter)); setSplitterHPosition( ui.getSetting<float>("SplitterPosition", getConfigSection(), defaultSplitterPosition)); } else { setSplitterHPosition( defaultSplitterPosition ); setCurrentPath( mDefaultPath ); setCurrentFilter( mDefaultFilter ); } }
void MainWindow::newFile() { if(saveChanges()) { ui->ui_sourceEditTableWidget->clear(); ui->ui_inputPlainTextEdit->clear(); ui->ui_outputPlainTextEdit->clear(); setModified(false); setCurrentPath(QString()); } }
imageShape_testApp::imageShape_testApp() { setCurrentPath(applicationGetResourceDirectory()); setWindowMouseMoveEnabled(false); addModifier(new poCamera2D()); poImageShape *shp = new poImageShape("test.png"); shp->addEvent(PO_MOUSE_DOWN_INSIDE_EVENT, this); shp->setAlignment(PO_ALIGN_CENTER_CENTER); shp->position = getWindowCenter(); addChild(shp); }
void MainWindow::save(QString filePath) { QFile file(filePath); if (!file.open(QFile::WriteOnly | QFile::Text)) { return; } QTextStream out(&file); out << ui->ui_sourceEditTableWidget->toPlainText(); file.close(); setModified(false); setCurrentPath(filePath); }
//-------------------------------------------------------------------------- void BaseFileDialog::notifyTreeControlNodeSelected(TreeControl* _sender, TreeControl::Node* _node) { if(_node) { String newPath = *(_node->getData<String>()); setCurrentPath(newPath); if(mCurrentPath != newPath) { mCurrentPath = newPath; setNeedUpdateCurrentPath(); setNeedUpdateFilesInFolder(); } } }
//-------------------------------------------------------------------------- void BaseFileDialog::setCurrentFilename(const String& _filename) { String path, basename; size_t pos = _filename.find_first_of("\\/"); if(pos != String::npos) { path = _filename.substr(0, pos + 1); basename = _filename.substr(pos + 1); } else { path = StringUtil::BLANK; basename = _filename; } setCurrentPath(path); setCurrentBasename(basename); }
void QHexEdit::loadFromFile(const QString &path) { QFileInfo fileInf(path); if (fileInf.size() > MAX_BINARY_FILE_SIZE) { QMessageBox::warning(this, ERROR_TOO_LARGE_BINARY_FILE_TITLE, ERROR_TOO_LARGE_BINARY_FILE_MSG.arg( QString::number(fileInf.size())), QMessageBox::Ok); return; } if (fileInf.size() > SCROLLED_BINARY_FILE_MAX_SIZE) { QMessageBox::warning(this, WARNING_LARGE_BINARY_FILE_TITLE, WARNING_LARGE_BINARY_FILE_TEXT); } //Check if the file has already been opened //or it is not file at all if (getCurrentPath() == fileInf.filePath() || !fileInf.isFile()) { return; } FileLoader *fLoader = new FileLoader(); fLoader->openFile(fileInf.filePath()); QByteArray arr; fLoader->loadToByteArray(arr); setCursorPosition(0); clearSelection(); setData(arr); setCurrentPath(fileInf.filePath()); fLoader->deleteLater(); }
void MainWindow::setController(MainWindowController* new_controller) { setController(new_controller, false); setCurrentPath({}); }
void MainWindow::setController(MainWindowController* new_controller, const QString& path) { setController(new_controller, true); setCurrentPath(path); }
GerritDialog::GerritDialog(const QSharedPointer<GerritParameters> &p, const QSharedPointer<GerritServer> &s, const QString &repository, QWidget *parent) : QDialog(parent) , m_parameters(p) , m_server(s) , m_filterModel(new QSortFilterProxyModel(this)) , m_ui(new Ui::GerritDialog) , m_model(new GerritModel(p, this)) , m_queryModel(new QStringListModel(this)) { setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); m_ui->setupUi(this); m_ui->remoteComboBox->setParameters(m_parameters); m_ui->remoteComboBox->setFallbackEnabled(true); m_queryModel->setStringList(m_parameters->savedQueries); QCompleter *completer = new QCompleter(this); completer->setModel(m_queryModel); m_ui->queryLineEdit->setSpecialCompleter(completer); m_ui->queryLineEdit->setOkColor(Utils::creatorTheme()->color(Utils::Theme::TextColorNormal)); m_ui->queryLineEdit->setErrorColor(Utils::creatorTheme()->color(Utils::Theme::TextColorError)); m_ui->queryLineEdit->setValidationFunction([this](Utils::FancyLineEdit *, QString *) { return m_model->state() != GerritModel::Error; }); m_ui->filterLineEdit->setFiltering(true); connect(m_ui->filterLineEdit, &Utils::FancyLineEdit::filterChanged, m_filterModel, &QSortFilterProxyModel::setFilterFixedString); connect(m_ui->queryLineEdit, &QLineEdit::returnPressed, this, &GerritDialog::refresh); connect(m_model, &GerritModel::stateChanged, m_ui->queryLineEdit, &Utils::FancyLineEdit::validate); connect(m_ui->remoteComboBox, &GerritRemoteChooser::remoteChanged, this, &GerritDialog::remoteChanged); m_filterModel->setFilterCaseSensitivity(Qt::CaseInsensitive); m_filterModel->setSourceModel(m_model); m_filterModel->setFilterRole(GerritModel::FilterRole); m_filterModel->setSortRole(GerritModel::SortRole); m_ui->treeView->setModel(m_filterModel); m_ui->treeView->setActivationMode(Utils::DoubleClickActivation); connect(&m_progressIndicatorTimer, &QTimer::timeout, [this]() { setProgressIndicatorVisible(true); }); m_progressIndicatorTimer.setSingleShot(true); m_progressIndicatorTimer.setInterval(50); // don't show progress for < 50ms tasks m_progressIndicator = new Utils::ProgressIndicator(Utils::ProgressIndicatorSize::Large, m_ui->treeView); m_progressIndicator->attachToWidget(m_ui->treeView->viewport()); m_progressIndicator->hide(); connect(m_model, &GerritModel::stateChanged, this, &GerritDialog::manageProgressIndicator); QItemSelectionModel *selectionModel = m_ui->treeView->selectionModel(); connect(selectionModel, &QItemSelectionModel::currentChanged, this, &GerritDialog::slotCurrentChanged); connect(m_ui->treeView, &QAbstractItemView::activated, this, &GerritDialog::slotActivated); m_displayButton = addActionButton(tr("&Show"), [this]() { slotFetchDisplay(); }); m_cherryPickButton = addActionButton(tr("Cherry &Pick"), [this]() { slotFetchCherryPick(); }); m_checkoutButton = addActionButton(tr("C&heckout"), [this]() { slotFetchCheckout(); }); m_refreshButton = addActionButton(tr("&Refresh"), [this]() { refresh(); }); connect(m_model, &GerritModel::refreshStateChanged, m_refreshButton, &QWidget::setDisabled); connect(m_model, &GerritModel::refreshStateChanged, this, &GerritDialog::slotRefreshStateChanged); connect(m_model, &GerritModel::errorText, this, [this](const QString &text) { if (text.contains("returned error: 401")) updateRemotes(true); }, Qt::QueuedConnection); setCurrentPath(repository); slotCurrentChanged(); m_ui->treeView->setFocus(); m_refreshButton->setDefault(true); }