summaryrefslogtreecommitdiffstats
path: root/tderadio3/src/stationselector.cpp
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2022-05-30 19:40:31 +0900
committerSlávek Banko <slavek.banko@axis.cz>2022-05-30 21:55:12 +0200
commit9d7329284fd42187092c829ae6ed030561002776 (patch)
tree1d53503d17938eca725caee7ff783fccf52ca509 /tderadio3/src/stationselector.cpp
parentfac82f62f156c76cb4b23c313111283b30a778b5 (diff)
downloadtderadio-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.cpp321
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"