FileEngine::FileEngine(QObject *parent) : QObject(parent) { m_currentFileIndex = -1; fileList = new FileList(); fileInfo = new FileInfo(); fileProcess = new FileProcess(); clipboard = new Clipboard(); settings = new Settings(); coverModel = new CoverModel(); fileList->setShowHiddenFiles(settings->getShowHiddenFiles()); fileList->setSortBy(settings->getSortBy()); fileList->setSortOrder(settings->getSortOrder()); fileList->setDirOrder(settings->getDirOrder()); connect(settings, SIGNAL(showHiddenFilesChanged(bool)), fileList, SLOT(setShowHiddenFiles(bool))); connect(settings, SIGNAL(sortByChanged(QString)), fileList, SLOT(setSortBy(QString))); connect(settings, SIGNAL(sortOrderChanged(QString)), fileList, SLOT(setSortOrder(QString))); connect(settings, SIGNAL(dirOrderChanged(QString)), fileList, SLOT(setDirOrder(QString))); connect(settings, SIGNAL(directoryViewSettingsChanged()), fileList, SLOT(resetFileInfoEntryList())); connect(fileList, SIGNAL(currentDirectoryChanged(QString)), coverModel, SLOT(setCoverLabel(QString))); }
void LLPanelMainInventory::onCustomAction(const LLSD& userdata) { if (!isActionEnabled(userdata)) return; const std::string command_name = userdata.asString(); if (command_name == "new_window") { newWindow(); } if (command_name == "sort_by_name") { const LLSD arg = "name"; setSortBy(arg); } if (command_name == "sort_by_recent") { const LLSD arg = "date"; setSortBy(arg); } if (command_name == "show_filters") { toggleFindOptions(); } if (command_name == "reset_filters") { resetFilters(); } if (command_name == "close_folders") { closeAllFolders(); } if (command_name == "empty_trash") { const std::string notification = "ConfirmEmptyTrash"; gInventory.emptyFolderType(notification, LLFolderType::FT_TRASH); } if (command_name == "empty_lostnfound") { const std::string notification = "ConfirmEmptyLostAndFound"; gInventory.emptyFolderType(notification, LLFolderType::FT_LOST_AND_FOUND); } if (command_name == "save_texture") { saveTexture(userdata); } // This doesn't currently work, since the viewer can't change an assetID an item. if (command_name == "regenerate_link") { LLInventoryPanel *active_panel = getActivePanel(); LLFolderViewItem* current_item = active_panel->getRootFolder()->getCurSelectedItem(); if (!current_item) { return; } const LLUUID item_id = current_item->getListener()->getUUID(); LLViewerInventoryItem *item = gInventory.getItem(item_id); if (item) { item->regenerateLink(); } active_panel->setSelection(item_id, TAKE_FOCUS_NO); } if (command_name == "find_original") { LLFolderViewItem* current_item = getActivePanel()->getRootFolder()->getCurSelectedItem(); if (!current_item) { return; } current_item->getListener()->performAction(getActivePanel()->getModel(), "goto"); } if (command_name == "find_links") { LLFolderViewItem* current_item = getActivePanel()->getRootFolder()->getCurSelectedItem(); if (!current_item) { return; } const LLUUID& item_id = current_item->getListener()->getUUID(); const std::string &item_name = current_item->getListener()->getName(); mFilterSubString = item_name; LLInventoryFilter *filter = mActivePanel->getFilter(); filter->setFilterSubString(item_name); mFilterEditor->setText(item_name); mFilterEditor->setFocus(TRUE); filter->setFilterUUID(item_id); filter->setShowFolderState(LLInventoryFilter::SHOW_NON_EMPTY_FOLDERS); filter->setFilterLinks(LLInventoryFilter::FILTERLINK_ONLY_LINKS); } }