void KNGroupDialog::itemChangedState(CheckItem *it, bool s) { kDebug(5003) <<"KNGroupDialog::itemChangedState()"; if(s){ if(itemInListView(unsubView, it->info)) { removeListItem(unsubView, it->info); setButtonDirection(btn2, right); arrowBtn1->setEnabled(false); arrowBtn2->setEnabled(true); } else { new GroupItem(subView, it->info); arrowBtn1->setEnabled(false); arrowBtn2->setEnabled(false); } } else { if(itemInListView(subView, it->info)) { removeListItem(subView, it->info); setButtonDirection(btn1, right); arrowBtn1->setEnabled(true); arrowBtn2->setEnabled(false); } else { new GroupItem(unsubView, it->info); arrowBtn1->setEnabled(false); arrowBtn2->setEnabled(false); } } }
void KNGroupSelectDialog::itemChangedState(CheckItem *it, bool s) { if(s) new GroupItem(selView, it->info); else removeListItem(selView, it->info); arrowBtn1->setEnabled(!s); }
/* Removes selected network interface: */ void UIGlobalSettingsNetwork::sltDelInterface() { /* Get interface item: */ UIHostInterfaceItem *pItem = static_cast<UIHostInterfaceItem*>(m_pInterfacesTree->currentItem()); AssertMsg(pItem, ("Current item should present!\n")); /* Get interface name: */ QString strInterfaceName(pItem->name()); /* Asking user about deleting selected network interface: */ if (msgCenter().confirmDeletingHostInterface(strInterfaceName, this) == QIMessageBox::Cancel) return; /* Prepare useful variables: */ CVirtualBox vbox = vboxGlobal().virtualBox(); CHost host = vboxGlobal().host(); /* Find corresponding interface: */ const CHostNetworkInterface &iface = host.FindHostNetworkInterfaceByName(strInterfaceName); /* Remove DHCP server first: */ CDHCPServer dhcp = vboxGlobal().virtualBox().FindDHCPServerByNetworkName(iface.GetNetworkName()); if (!dhcp.isNull()) vbox.RemoveDHCPServer(dhcp); /* Remove interface finally: */ CProgress progress = host.RemoveHostOnlyNetworkInterface(iface.GetId()); if (host.isOk()) { msgCenter().showModalProgressDialog(progress, tr("Networking"), ":/nw_32px.png", this, true, 0); if (progress.GetResultCode() == 0) { /* Remove list item: */ removeListItem(pItem); /* Remove cache item: */ removeCacheItem(strInterfaceName); } else msgCenter().cannotRemoveHostInterface(progress, iface, this); } else msgCenter().cannotRemoveHostInterface(host, iface, this); }
int main(int argc, const char * argv[]) { Node *node1 = initListItem(1); Node *node2 = initListItem(2); Node *node3 = initListItem(3); Node *node4 = initListItem(4); Node *node5 = initListItem(5); Node *newNode = initListItem(6); insertToTheEnd(node1, node2); insertToTheEnd(node1, node3); insertToTheEnd(node1, node4); insertToTheEnd(node1, node5); printf("All values in the list: "); listAll(node1); int valueUserInput; printf("Input the value to find:"); scanf("%d", &valueUserInput); Node *searchResult = searchValue(node1, valueUserInput); if (searchResult == NULL) { printf("%d is not found in this list!\n", valueUserInput); } else { printf("Search result %d found at %p\n", searchResult->value, searchResult); printf("%p\n", node2); } insertToTheEnd(node1, newNode); listAll(node1); removeListItem(node1, node2); listAll(node1); deallocation(node1); return 0; }
void LLPanelNearByMedia::refreshList() { bool all_items_deleted = false; if(!mMediaList) { // None of this makes any sense if the media list isn't there. return; } // Check whether the debug column has been shown/hidden. bool debug_info_visible = gSavedSettings.getBOOL("MediaPerformanceManagerDebug"); if(debug_info_visible != mDebugInfoVisible) { mDebugInfoVisible = debug_info_visible; // Clear all items so the list gets regenerated. mMediaList->deleteAllItems(); mParcelAudioItem = NULL; mParcelMediaItem = NULL; all_items_deleted = true; updateColumns(); } refreshParcelItems(); // Get the canonical list from LLViewerMedia LLViewerMedia::impl_list impls = LLViewerMedia::getPriorityList(); LLViewerMedia::impl_list::iterator priority_iter; U32 enabled_count = 0; U32 disabled_count = 0; // iterate over the impl list, creating rows as necessary. for(priority_iter = impls.begin(); priority_iter != impls.end(); priority_iter++) { LLViewerMediaImpl *impl = *priority_iter; // If we just emptied out the list, every flag needs to be reset. if(all_items_deleted) { impl->setInNearbyMediaList(false); } if (!impl->isParcelMedia()) { LLUUID media_id = impl->getMediaTextureID(); S32 proximity = impl->getProximity(); // This is expensive (i.e. a linear search) -- don't use it here. We now use mInNearbyMediaList instead. //S32 index = mMediaList->getItemIndex(media_id); if (proximity < 0 || !shouldShow(impl)) { if (impl->getInNearbyMediaList()) { // There's a row for this impl -- remove it. removeListItem(media_id); impl->setInNearbyMediaList(false); } } else { if (!impl->getInNearbyMediaList()) { // We don't have a row for this impl -- add one. addListItem(media_id); impl->setInNearbyMediaList(true); } } // Update counts if (impl->isMediaDisabled()) { disabled_count++; } else { enabled_count++; } } } mDisableAllCtrl->setEnabled((gSavedSettings.getBOOL("AudioStreamingMusic") || gSavedSettings.getBOOL("AudioStreamingMedia")) && (LLViewerMedia::isAnyMediaShowing() || LLViewerMedia::isParcelMediaPlaying() || LLViewerMedia::isParcelAudioPlaying())); mEnableAllCtrl->setEnabled( (gSavedSettings.getBOOL("AudioStreamingMusic") || gSavedSettings.getBOOL("AudioStreamingMedia")) && (disabled_count > 0 || // parcel media (if we have it, and it isn't playing, enable "start") (LLViewerMedia::hasParcelMedia() && ! LLViewerMedia::isParcelMediaPlaying()) || // parcel audio (if we have it, and it isn't playing, enable "start") (LLViewerMedia::hasParcelAudio() && ! LLViewerMedia::isParcelAudioPlaying()))); // Iterate over the rows in the control, updating ones whose impl exists, and deleting ones whose impl has gone away. std::vector<LLScrollListItem*> items = mMediaList->getAllData(); for (std::vector<LLScrollListItem*>::iterator item_it = items.begin(); item_it != items.end(); ++item_it) { LLScrollListItem* item = (*item_it); LLUUID row_id = item->getUUID(); if (row_id != PARCEL_MEDIA_LIST_ITEM_UUID && row_id != PARCEL_AUDIO_LIST_ITEM_UUID) { LLViewerMediaImpl* impl = LLViewerMedia::getMediaImplFromTextureID(row_id); if(impl) { updateListItem(item, impl); } else { // This item's impl has been deleted -- remove the row. // Removing the row won't throw off our iteration, since we have a local copy of the array. // We just need to make sure we don't access this item after the delete. removeListItem(row_id); } } } // Set the selection to whatever media impl the media focus/hover is on. // This is an experiment, and can be removed by ifdefing out these 4 lines. LLUUID media_target = LLViewerMediaFocus::getInstance()->getControlsMediaID(); if(media_target.notNull()) { mMediaList->selectByID(media_target); } }
void LLPanelNearByMedia::refreshParcelItems() { // // First add/remove the "fake" items Parcel Media and Parcel Audio. // These items will have special UUIDs // PARCEL_MEDIA_LIST_ITEM_UUID // PARCEL_AUDIO_LIST_ITEM_UUID // // Get the filter choice. const LLSD &choice_llsd = mShowCtrl->getSelectedValue(); MediaClass choice = (MediaClass)choice_llsd.asInteger(); // Only show "special parcel items" if "All" or "Within" filter // (and if media is "enabled") bool should_include = (choice == MEDIA_CLASS_ALL || choice == MEDIA_CLASS_WITHIN_PARCEL); // First Parcel Media: add or remove it as necessary if (gSavedSettings.getBOOL("AudioStreamingMedia") &&should_include && LLViewerMedia::hasParcelMedia()) { // Yes, there is parcel media. if (NULL == mParcelMediaItem) { mParcelMediaItem = addListItem(PARCEL_MEDIA_LIST_ITEM_UUID); mMediaList->setNeedsSort(true); } } else { if (NULL != mParcelMediaItem) { removeListItem(PARCEL_MEDIA_LIST_ITEM_UUID); mParcelMediaItem = NULL; mMediaList->setNeedsSort(true); } } // ... then update it if (NULL != mParcelMediaItem) { std::string name, url, tooltip; getNameAndUrlHelper(LLViewerParcelMedia::getParcelMedia(), name, url, ""); if (name.empty() || name == url) { tooltip = url; } else { tooltip = name + " : " + url; } LLViewerMediaImpl *impl = LLViewerParcelMedia::getParcelMedia(); updateListItem(mParcelMediaItem, mParcelMediaName, tooltip, -2, // Proximity closer than anything else, before Parcel Audio impl == NULL || impl->isMediaDisabled(), impl != NULL && !LLViewerParcelMedia::getURL().empty(), impl != NULL && impl->isMediaTimeBased() && impl->isMediaPlaying(), MEDIA_CLASS_ALL, "parcel media"); } // Next Parcel Audio: add or remove it as necessary (don't show if disabled in prefs) if (should_include && LLViewerMedia::hasParcelAudio() && gSavedSettings.getBOOL("AudioStreamingMusic")) { // Yes, there is parcel audio. if (NULL == mParcelAudioItem) { mParcelAudioItem = addListItem(PARCEL_AUDIO_LIST_ITEM_UUID); mMediaList->setNeedsSort(true); } } else { if (NULL != mParcelAudioItem) { removeListItem(PARCEL_AUDIO_LIST_ITEM_UUID); mParcelAudioItem = NULL; mMediaList->setNeedsSort(true); } } // ... then update it if (NULL != mParcelAudioItem) { bool is_playing = LLViewerMedia::isParcelAudioPlaying(); std::string url; url = LLViewerMedia::getParcelAudioURL(); updateListItem(mParcelAudioItem, mParcelAudioName, url, -1, // Proximity after Parcel Media, but closer than anything else (!is_playing), is_playing, is_playing, MEDIA_CLASS_ALL, "parcel audio"); } }