/* Copyright (c) 2005 Victor Pavlychko (nullbyte@sotline.net.ua) Copyright (C) 2012-23 Miranda NG team (https://miranda-ng.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include "stdafx.h" static INT_PTR SvcGetCurrent(WPARAM wParam, LPARAM) { if (auto *pData = (NewstoryListData *)wParam) if (auto *p = pData->GetItem(pData->caret)) return p->hEvent; return 0; } static INT_PTR SvcGetSelection(WPARAM wParam, LPARAM lParam) { auto *pData = (NewstoryListData *)wParam; auto *pRet = (std::vector*)lParam; if (pData && pRet) { for (int i = pData->totalCount; i >= 0; i--) { auto *p = pData->items.get(i); if (p->m_bSelected) pRet->push_back(p->hEvent); } if (pRet->empty() && pData->caret != -1) if (auto *p = pData->GetItem(pData->caret)) pRet->push_back(p->hEvent); } return 0; } ///////////////////////////////////////////////////////////////////////////////////////// // Module entry point void InitServices() { CreateServiceFunction(MS_NEWSTORY_GETCURRENT, &SvcGetCurrent); CreateServiceFunction(MS_NEWSTORY_GETSELECTION, &SvcGetSelection); }