gcRefPtr<UserCore::Misc::UploadInfoThreadI> DesuraJSUploadInfo::getUploadFromId(int32 uid) { if (!GetUploadMng()) return nullptr; return GetUploadMng()->findItem((uint32)uid); }
ItemToolBarControl::ItemToolBarControl(wxWindow* parent) : BaseToolBarControl(parent) { m_butExpand = new gcImageButton(this, BUTTON_EXPAND, wxDefaultPosition, wxSize( 19,19 ), 0 ); m_butExpand->setDefaultImage(("#items_expand")); m_butExpand->setHoverImage(("#items_expand_hover")); m_butExpand->SetToolTip(Managers::GetString(L"#DM_EXPAND")); m_butContract = new gcImageButton(this, BUTTON_CONTRACT, wxDefaultPosition, wxSize( 19,19 ), 0 ); m_butContract->setDefaultImage(("#items_contract")); m_butContract->setHoverImage(("#items_contract_hover")); m_butContract->SetToolTip(Managers::GetString(L"#DM_CONTRACT")); #ifdef ENABLE_SEARCH m_pSearch = new SearchControl(this); m_pSearch->onSearchEvent += delegate(&onSearchEvent); m_pSearch->onFullSearchEvent += delegate(&onSearchEvent); #else m_pSearch = nullptr; #endif m_pFGContentSizer = new wxFlexGridSizer( 1, 10, 0, 0 ); m_pFGContentSizer->AddGrowableRow( 0 ); m_pFGContentSizer->SetFlexibleDirection( wxBOTH ); m_pFGContentSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); createButtons(); wxFlexGridSizer* fgSizer1; fgSizer1 = new wxFlexGridSizer( 1, 6, 0, 0 ); fgSizer1->AddGrowableCol( 1 ); fgSizer1->AddGrowableRow( 0 ); fgSizer1->SetFlexibleDirection( wxBOTH ); fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); fgSizer1->Add( m_pFGContentSizer, 0, 0, 4 ); fgSizer1->Add( 3, 0, 1, 0, 4 ); fgSizer1->Add( m_butExpand, 0, wxTOP|wxBOTTOM, 4 ); #ifdef ENABLE_SEARCH fgSizer1->Add( m_butContract, 0, wxTOP|wxBOTTOM, 4 ); fgSizer1->Add( m_pSearch, 0, wxTOP|wxBOTTOM, 4); fgSizer1->Add( m_pSearch->getButton(), 0, wxTOP|wxBOTTOM|wxRIGHT, 4); #else fgSizer1->Add( m_butContract, 0, wxTOP|wxBOTTOM|wxRIGHT, 4 ); #endif this->SetSizer( fgSizer1 ); this->Layout(); auto userCore = GetUserCore(); if (userCore && GetUploadMng()) { userCore->getItemsAddedEvent() += guiDelegate(this, &ItemToolBarControl::onItemsAdded); userCore->getLoginItemsLoadedEvent() += guiDelegate(this, &ItemToolBarControl::onLoginItemsLoaded); GetUploadMng()->getUpdateEvent() += guiDelegate(this, &ItemToolBarControl::onUploadItemsAdded); } }
void* DesuraJSUploadInfo::getUploadFromId(int32 uid) { if (!GetUploadMng()) return NULL; void* ret = GetUploadMng()->findItem((uint32)uid); return ret; }
ItemToolBarControl::~ItemToolBarControl() { auto userCore = GetUserCore(); if (userCore) { userCore->getItemsAddedEvent() -= guiDelegate(this, &ItemToolBarControl::onItemsAdded); userCore->getLoginItemsLoadedEvent() -= guiDelegate(this, &ItemToolBarControl::onLoginItemsLoaded); } if (GetUploadMng()) GetUploadMng()->getUpdateEvent() -= guiDelegate(this, &ItemToolBarControl::onUploadItemsAdded); }
void UploadInfoPage::onError(gcException& e) { gcErrorBox(GetParent(), "#UDF_ERRTITLE", "#UDF_ERROR", e); if (e.getErrId() == ERR_COMPLETED) GetUploadMng()->removeUpload(m_szKey.c_str(), true); GetParent()->Close(); }
void UploadInfoPage::initUpload(const char* path, uint64 start) { Show(false); UploadMCFForm* temp = dynamic_cast<UploadMCFForm*>(GetParent()); uint32 hash = GetUploadMng()->addUpload(getItemId(), m_szKey.c_str(), path); if (temp) temp->showProg(hash, start); }
void ItemToolBarControl::createButtons() { if (!GetUserCore() || !GetUserCore()->getItemManager()) return; std::vector<gcRefPtr<UserCore::Item::ItemInfoI>> dList; GetUserCore()->getItemManager()->getDevList(dList); bool dev = (dList.size() > 0) || (GetUploadMng()->getCount() > 0); if (!m_vButtonList.empty() && dev == m_bShowDevList) return; m_bShowDevList = dev; m_pFGContentSizer->Clear(true); m_vButtonList.clear(); uint32 fPos = CENTER; uint32 dPos = RIGHT; if (!dev) fPos = RIGHT; m_vButtonList.push_back(new ItemButton(this, BUTTON_GAME, Managers::GetString(L"#PLAY_GAMES"), LEFT)); m_vButtonList.push_back(new ItemButton(this, BUTTON_FAV, Managers::GetString(L"#PLAY_FAVORITES"), fPos)); if (dev) m_vButtonList.push_back(new ItemButton(this, BUTTON_DEV, Managers::GetString(L"#PLAY_DEVELOPMENT"), dPos)); for (size_t x=0; x<m_vButtonList.size(); x++) m_pFGContentSizer->Add( m_vButtonList[x], 0, wxTOP|wxBOTTOM, 4 ); gcString strVal = DesuraJSBinding::getCacheValue_s("LastActiveTab", ""); if (!strVal.empty()) { if (strVal == "game") m_vButtonList[0]->setSelected(true); else if (strVal == "fav") m_vButtonList[1]->setSelected(true); else if (dev && strVal == "dev") m_vButtonList[2]->setSelected(true); else m_vButtonList[0]->setSelected(true); } else { m_vButtonList[0]->setSelected(true); } }
std::vector<gcRefPtr<UserCore::Misc::UploadInfoThreadI>> DesuraJSBinding::getUploads() { std::vector<gcRefPtr<UserCore::Misc::UploadInfoThreadI>> ret; auto um = GetUploadMng(); if (!um) return ret; size_t count = um->getCount(); for (size_t x=0; x<count; x++) { auto item = um->getItem(x); if (item->isDeleted()) continue; ret.push_back(item); } return ret; }
void DesuraJSUploadInfo::cancel(gcRefPtr<UserCore::Misc::UploadInfoThreadI> upload) { upload->stop(); GetUploadMng()->removeUpload(upload->getKey()); }
void DesuraJSUploadInfo::remove(gcRefPtr<UserCore::Misc::UploadInfoThreadI> upload) { GetUploadMng()->removeUpload(upload->getKey(), true); }