📄 ui_handler.cpp
字号:
setDefaultStatusText(); if (details_resized) { handleResizeMainWindow(); } mainwindow_.refresh(); } void UI::handleMark() { mainwindow_.mark(); mainwindow_.moveDown(); refresh(); } void UI::handleMarkAll() { mainwindow_.markAll(); refresh(); } void UI::handleManyLimits(std::vector<t_int> const& _context_ids) { statuswindow_.setStatus("Limiting torrents."); t_int download = limitBase::LIMIT_DISABLED; t_int upload = limitBase::LIMIT_DISABLED; t_int seedTimeout = limitBase::LIMIT_DISABLED; t_int seedPercent = limitBase::LIMIT_DISABLED; std::vector<t_int>::const_iterator iter = _context_ids.begin(); t_int context_id = *iter; if (limitPopup(context_id, download, upload, seedTimeout, seedPercent)) { // Got limits, now set them on all the contexts. t_int succ = 0; t_int fail = 0; for (iter = _context_ids.begin(); iter != _context_ids.end(); iter++) { // Find the filename. btg::core::Status status; mainwindow_.get(*iter, status); std::string filename = status.filename(); if (setLimit(*iter, filename, download, upload, seedTimeout, seedPercent)) { succ++; } else { fail++; } } if (fail == 0) { // Success for all torrents. statuswindow_.setStatus("Limited selected torrents."); } else { statuswindow_.setError("Unable to limit all selected torrents."); } } else { statuswindow_.setStatus("Setting limits aborted."); } } dialog::RESULT UI::handleHelp() { // Show a help window on the middle of the screen. std::vector<std::string> helpText; helpText.push_back("Help"); helpText.push_back("----"); helpText.push_back(" "); std::string keyDescr; if (helpWindow::generateHelpForKey(keymap_, keyMapping::K_HELP, "", keyDescr, false)) { helpText.push_back(keyDescr); helpText.push_back(" to show help"); } if (helpWindow::generateHelpForKey(keymap_, keyMapping::K_LOAD, "", keyDescr, false)) { helpText.push_back(keyDescr); helpText.push_back(" to load a torrent"); } if (helpWindow::generateHelpForKey(keymap_, keyMapping::K_DOWN, "", keyDescr, false)) { helpText.push_back(keyDescr); helpText.push_back(" to move down the list"); } if (helpWindow::generateHelpForKey(keymap_, keyMapping::K_UP, "", keyDescr, false)) { helpText.push_back(keyDescr); helpText.push_back(" to move up the list"); } if (helpWindow::generateHelpForKey(keymap_, keyMapping::K_LIST_START, "", keyDescr, false)) { helpText.push_back(keyDescr); helpText.push_back(" to move to the beg. of the list"); } if (helpWindow::generateHelpForKey(keymap_, keyMapping::K_LIST_END, "", keyDescr, false)) { helpText.push_back(keyDescr); helpText.push_back(" to move to the end of the list"); } if (helpWindow::generateHelpForKey(keymap_, keyMapping::K_MARK, "", keyDescr, false)) { helpText.push_back(keyDescr); helpText.push_back(" to mark a torrent"); } if (helpWindow::generateHelpForKey(keymap_, keyMapping::K_MARK_ALL, "", keyDescr, false)) { helpText.push_back(keyDescr); helpText.push_back(" to mark all torrents"); } if (helpWindow::generateHelpForKey(keymap_, keyMapping::K_SELECT, "", keyDescr, false)) { helpText.push_back(keyDescr); helpText.push_back(" to see details about a torrent"); } if (helpWindow::generateHelpForKey(keymap_, keyMapping::K_MENU, "", keyDescr, false)) { helpText.push_back(keyDescr); helpText.push_back(" to show menu (start/stop torrent etc)"); } if (helpWindow::generateHelpForKey(keymap_, keyMapping::K_GLIMIT, "", keyDescr, false)) { helpText.push_back(keyDescr); helpText.push_back(" to set global limits"); } if (helpWindow::generateHelpForKey(keymap_, keyMapping::K_DETACH, "", keyDescr, false)) { helpText.push_back(keyDescr); helpText.push_back(" to detach from the daemon"); } if (helpWindow::generateHelpForKey(keymap_, keyMapping::K_QUIT, "", keyDescr, false)) { helpText.push_back(keyDescr); helpText.push_back(" to quit the application"); } helpText.push_back(" "); helpWindow hw(keymap_, helpText); return hw.run(); } void UI::handleLoad() { std::string helpText; genHelpText(helpText); statuswindow_.setStatus("Loading file. " + helpText); windowSize fldimensions; mainwindow_.getSize(fldimensions); // Show a window with a file list. fileList fl(keymap_, fldimensions, load_directory_); // Use the same dimenstions as the main window. if (fl.run() == dialog::R_RESIZE) { // the window was resized. handleResizeMainWindow(); statuswindow_.setStatus("Loading file aborted."); return; } std::string filenameToLoad; if (fl.getFile(filenameToLoad)) { { GET_HANDLER_INST; handler->reqCreate(filenameToLoad); if (handler->lastCommandSuccess()) { actionSuccess("Load", filenameToLoad); } else { actionFailture("Load", filenameToLoad); } } // Force updating of contexts. handlerthread_->forceUpdate(); } else { statuswindow_.setStatus("Loading file aborted."); } load_directory_ = fl.getLastDirectory(); refresh(); } void UI::handleLoad(t_strList const& _filelist) { t_strListCI iter; for (iter = _filelist.begin(); iter != _filelist.end(); iter++) { { GET_HANDLER_INST; handler->reqCreate(*iter); if (handler->lastCommandSuccess()) { actionSuccess("Load", *iter); } else { actionFailture("Load", *iter); } } } // Force updating of contexts. handlerthread_->forceUpdate(); } void UI::handleGlobalLimit() { std::string helpText; genHelpText(helpText); statuswindow_.setStatus("Setting global limits. " + helpText); t_int download = limitBase::LIMIT_DISABLED; t_int upload = limitBase::LIMIT_DISABLED;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -