diff options
| author | Michele Calgaro <michele.calgaro@yahoo.it> | 2022-05-30 19:40:31 +0900 |
|---|---|---|
| committer | Slávek Banko <slavek.banko@axis.cz> | 2022-05-30 21:55:12 +0200 |
| commit | 9d7329284fd42187092c829ae6ed030561002776 (patch) | |
| tree | 1d53503d17938eca725caee7ff783fccf52ca509 /tderadio3/src/stationselector.cpp | |
| parent | fac82f62f156c76cb4b23c313111283b30a778b5 (diff) | |
| download | tderadio-9d732928.tar.gz tderadio-9d732928.zip | |
Standardize folder structure.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit d95a4fea540b371fa86493d069fdbd54f33c5b40)
Diffstat (limited to 'tderadio3/src/stationselector.cpp')
| -rw-r--r-- | tderadio3/src/stationselector.cpp | 321 |
1 files changed, 0 insertions, 321 deletions
diff --git a/tderadio3/src/stationselector.cpp b/tderadio3/src/stationselector.cpp deleted file mode 100644 index d604ea8..0000000 --- a/tderadio3/src/stationselector.cpp +++ /dev/null @@ -1,321 +0,0 @@ -/*************************************************************************** - stationselector.cpp - description - ------------------- - begin : Son Aug 3 2003 - copyright : (C) 2003 by Martin Witte - email : witte@kawo1.rwth-aachen.de - ***************************************************************************/ - -/*************************************************************************** - * * - * 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; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -using namespace std; - -#include <kpushbutton.h> -#include <algorithm> - -#include "include/stationlist.h" -#include "include/radiostation.h" - -#include "include/stationselector.h" -#include "include/radiostation-listview.h" - -StationSelector::StationSelector (TQWidget *parent) - : StationSelectorUI(parent), - m_dirty(true) -{ - TQObject::connect(buttonToLeft, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotButtonToLeft())); - TQObject::connect(buttonToRight, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotButtonToRight())); - TQObject::connect(listAvailable, TQT_SIGNAL(sigStationsReceived(const TQStringList&)), this, TQT_SLOT(slotMoveToLeft(const TQStringList&))); - TQObject::connect(listSelected, TQT_SIGNAL(sigStationsReceived(const TQStringList&)), this, TQT_SLOT(slotMoveToRight(const TQStringList&))); - - listSelected->setSelectionMode(TQListView::Extended); - listAvailable->setSelectionMode(TQListView::Extended); -} - - -StationSelector::~StationSelector () -{ -} - - -bool StationSelector::connectI(Interface *i) -{ - bool a = IStationSelectionClient::connectI(i); - bool b = IRadioClient::connectI(i); - return a || b; -} - - -bool StationSelector::disconnectI(Interface *i) -{ - bool a = IStationSelectionClient::disconnectI(i); - bool b = IRadioClient::disconnectI(i); - return a || b; -} - - -bool StationSelector::noticeStationSelectionChanged(const TQStringList &sl) -{ - m_stationIDsNotDisplayed.clear(); - m_stationIDsSelected.clear(); - m_stationIDsAvailable.clear(); - - for (unsigned int i = 0; i < m_stationIDsAll.count(); ++i) { - if (sl.contains(m_stationIDsAll[i])) { - m_stationIDsSelected.append(m_stationIDsAll[i]); - } else { - m_stationIDsAvailable.append(m_stationIDsAll[i]); - } - } - for (unsigned int i = 0; i < sl.count(); ++i) { - if (!m_stationIDsAll.contains(sl[i])) - m_stationIDsNotDisplayed.append(sl[i]); - } - updateListViews(); - m_dirty = false; - return true; -} - - -bool StationSelector::noticeStationsChanged(const StationList &sl) -{ - slotSetDirty(); - - listAvailable->clear(); - listSelected->clear(); - - m_stationIDsAvailable.clear(); - m_stationIDsAll.clear(); - - for (unsigned int i = 0; i < m_stationIDsSelected.count(); ++i) - m_stationIDsNotDisplayed.append(m_stationIDsSelected[i]); - - m_stationIDsSelected.clear(); - - for (RawStationList::Iterator i(sl.all()); i.current(); ++i) { - const TQString &id = i.current()->stationID(); - - m_stationIDsAll.append(id); - if (m_stationIDsNotDisplayed.contains(id)) { - m_stationIDsNotDisplayed.remove(id); - m_stationIDsSelected.append(id); - } else { - m_stationIDsAvailable.append(id); - } - } - - updateListViews(); - return true; -} - - -void StationSelector::slotButtonToLeft() -{ - slotSetDirty(); - listAvailable->clearSelection(); - TQListViewItem *item = listSelected->firstChild(); - int idx_from = 0; - while (item) { - TQListViewItem *next_item = item->nextSibling(); - - if (item->isSelected()) { - - moveItem (listSelected, m_stationIDsSelected, - item, idx_from, - listAvailable, m_stationIDsAvailable); - - --idx_from; - } - item = next_item; - ++idx_from; - } -} - - -void StationSelector::slotButtonToRight() -{ - slotSetDirty(); - listSelected->clearSelection(); - TQListViewItem *item = listAvailable->firstChild(); - int idx_from = 0; - while (item) { - TQListViewItem *next_item = item->nextSibling(); - - if (item->isSelected()) { - - moveItem (listAvailable, m_stationIDsAvailable, - item, idx_from, - listSelected, m_stationIDsSelected); - - --idx_from; - } - item = next_item; - ++idx_from; - } -} - - -void StationSelector::slotMoveToRight(const TQStringList &list) -{ - slotSetDirty(); - listSelected->clearSelection(); - TQListViewItem *item = listAvailable->firstChild(); - int idx_from = 0; - while (item) { - TQListViewItem *next_item = item->nextSibling(); - - if (list.contains(m_stationIDsAvailable[idx_from])) { - - moveItem (listAvailable, m_stationIDsAvailable, - item, idx_from, - listSelected, m_stationIDsSelected); - - --idx_from; - } - item = next_item; - ++idx_from; - } -} - - -void StationSelector::slotMoveToLeft(const TQStringList &list) -{ - slotSetDirty(); - listAvailable->clearSelection(); - TQListViewItem *item = listSelected->firstChild(); - int idx_from = 0; - while (item) { - TQListViewItem *next_item = item->nextSibling(); - - if (list.contains(m_stationIDsSelected[idx_from])) { - - moveItem (listSelected, m_stationIDsSelected, - item, idx_from, - listAvailable, m_stationIDsAvailable); - - --idx_from; - } - item = next_item; - ++idx_from; - } -} - - -void StationSelector::moveItem( - RadioStationListView *fromListView, - TQStringList &fromIDList, - TQListViewItem *item, - int idx_from, - RadioStationListView *toListView, - TQStringList &toIDList -) -{ - fromListView->takeItem(item, idx_from); - - TQString id = fromIDList[idx_from]; - fromIDList.remove(fromIDList.at(idx_from)); - - unsigned int idx_to = 0, - idx_all = 0; - bool found = false; - TQListViewItem *item_to = toListView->firstChild(), - *prev_item_to = NULL; - - while (idx_all < m_stationIDsAll.count() && - idx_to < toIDList.count()) - { - while (m_stationIDsAll[idx_all] != toIDList[idx_to]) - { - if (m_stationIDsAll[idx_all] == id) { - found = true; - break; - } - ++idx_all; - } - if (found) - break; - - prev_item_to = item_to; - item_to = item_to->nextSibling(); - ++idx_to; - } - - toIDList.insert(toIDList.at(idx_to), id); - toListView->insertItem(item, id, idx_to); - if (prev_item_to) { - item->moveItem(prev_item_to); - } else { - item->moveItem(item_to); - if (item_to) item_to->moveItem(item); - } -} - - -void StationSelector::updateListViews() -{ - listAvailable->clear(); - listSelected->clear(); - const StationList &stations = queryStations(); - const RawStationList &sl = stations.all(); - - for (unsigned int i = 0; i < m_stationIDsAvailable.count(); ++i) { - TQString id = m_stationIDsAvailable[i]; - listAvailable->appendStation(sl.stationWithID(id), sl.idxWithID(id)+1); - } - for (unsigned int i = 0; i < m_stationIDsSelected.count(); ++i) { - TQString id = m_stationIDsSelected[i]; - listSelected->appendStation(sl.stationWithID(id), sl.idxWithID(id)+1); - } -} - - -void StationSelector::slotOK() -{ - if (m_dirty) { - TQStringList l = m_stationIDsSelected; - for (unsigned int i = 0; i < m_stationIDsNotDisplayed.count(); ++i) - l.append(m_stationIDsNotDisplayed[i]); - sendStationSelection(l); - } - m_dirty = false; -} - - -void StationSelector::slotCancel() -{ - if (m_dirty) { - noticeStationSelectionChanged(queryStationSelection()); - } - m_dirty = false; -} - - -void StationSelector::saveState (TDEConfig *cfg) const -{ - listSelected->saveState(cfg); - listAvailable->saveState(cfg); -} - - -void StationSelector::restoreState (TDEConfig *cfg) -{ - listSelected->restoreState(cfg); - listAvailable->restoreState(cfg); -} - -void StationSelector::slotSetDirty() -{ - if (!m_dirty) { - m_dirty = true; - emit sigDirty(); - } -} - -#include "stationselector.moc" |
