void WorkspaceWork::AddFile(ADDFILE af) { String active = GetActivePackage(); if(active.IsEmpty()) return; FileSel *fs = &OutputFs(); RealizeDirectory(GetLocalDir()); switch(af) { case PACKAGE_FILE: fs = &BasedSourceFs(); fs->BaseDir(GetFileFolder(PackagePathA(active))); break; case ANY_FILE: fs = &AnySourceFs(); break; case OUTPUT_FILE: fs->ActiveDir(GetOutputDir()); break; case CONFIG_FILE: fs->ActiveDir(GetConfigDir()); break; case HOME_FILE: fs->ActiveDir(GetHomeDirectory()); break; case LOCAL_FILE: fs->ActiveDir(GetLocalDir()); break; default: ; // GCC warns otherwise } if(!fs->ExecuteOpen("Add files to package..")) return; int fci = filelist.GetCursor(); int cs = filelist.GetSbPos(); int ci = fci >= 0 && fci < fileindex.GetCount() ? fileindex[fci] : -1; for(int i = 0; i < fs->GetCount(); i++) { Package::File& f = ci >= 0 ? actual.file.Insert(ci++) : actual.file.Add(); f = (*fs)[i]; f.readonly = fs->GetReadOnly(); } SaveLoadPackage(false); filelist.SetSbPos(cs); filelist.SetCursor(fci >= 0 ? fci : filelist.GetCount() - 1); FileSelected(); }
void WorkspaceWork::GroupOrFile(Point pos) { if(pos.x < filelist.GetIconWidth()) Group(); if(filelist.IsCursor() && !filelist[filelist.GetCursor()].isdir) FileSelected(); }
void nuiDialogSelectFile::OnSelectorOK(const nuiEvent& rEvent) { // nglString text = mpEditLine->GetText(); // text.Trim(); // if (text.IsNull()) // return false; mPath = mpSelector->GetPath(); mRootPath = mpSelector->GetRootPath(); // send event and close the dialog if the user answered true if (!FileSelected()) Trash(); }
void RocketStorageFileDialog::OnFilesSelected(const QStringList &filenames) { if (filenames.isEmpty()) return; // Pick new or existing directory if (fileMode() == QFileDialog::Directory) emit FolderSelected(filenames.first(), files); // Pick new or existing file else if (fileMode() == QFileDialog::AnyFile) emit FileSelected(filenames.first(), files); // Pick existing files else emit FilesSelected(filenames, confirmOverwrite_); }
void WorkspaceWork::AddItem(const String& name, bool separator, bool readonly) { int fci = filelist.GetCursor(); int cs = filelist.GetSbPos(); int ci = fci >= 0 && fci < fileindex.GetCount() ? fileindex[fci] : -1; Package::File& f = ci >= 0 ? actual.file.Insert(ci) : actual.file.Add(); f = name; f.separator = separator; f.readonly = readonly; if(separator) SaveLoadPackageNS(false); else SaveLoadPackage(false); filelist.SetSbPos(cs); filelist.SetCursor(fci >= 0 ? fci : filelist.GetCount() - 1); FileSelected(); }
void WorkspaceWork::Import() { String active = GetActivePackage(); if(active.IsEmpty()) return; ImportDlg dlg; if(dlg.Execute() != IDOK) return; Progress pi("Importing file %d"); int fci = filelist.GetCursor(); int cs = filelist.GetSbPos(); try { DoImport(~dlg.folder, ~dlg.files, false, pi, ~dlg.tree); } catch(String msg) { if(!msg.IsEmpty()) Exclamation(msg); } SaveLoadPackage(false); filelist.SetSbPos(cs); filelist.SetCursor(fci >= 0 ? fci : filelist.GetCount() - 1); FileSelected(); }
void RecentFilesService::SignalMapped(const QString &str) { emit FileSelected(str); }