diff options
| author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-22 18:23:26 +0000 |
|---|---|---|
| committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-22 18:23:26 +0000 |
| commit | ae364d9bed0589bf1a22cd5f530c563462379e3e (patch) | |
| tree | e32727e2664e7ce68d0d30270afa040320ae35a1 /kradio3/plugins/gui-quickbar/quickbar.h | |
| download | tderadio-ae364d9bed0589bf1a22cd5f530c563462379e3e.tar.gz tderadio-ae364d9bed0589bf1a22cd5f530c563462379e3e.zip | |
Added old KDE3 version of kradio
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kradio@1094417 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kradio3/plugins/gui-quickbar/quickbar.h')
| -rw-r--r-- | kradio3/plugins/gui-quickbar/quickbar.h | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/kradio3/plugins/gui-quickbar/quickbar.h b/kradio3/plugins/gui-quickbar/quickbar.h new file mode 100644 index 0000000..7bf5193 --- /dev/null +++ b/kradio3/plugins/gui-quickbar/quickbar.h @@ -0,0 +1,138 @@ +/*************************************************************************** + quickbar.h - description + ------------------- + begin : Mon Feb 11 2002 + copyright : (C) 2002 by Martin Witte / Klas Kalass + 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. * + * * + ***************************************************************************/ + +#ifndef KRADIO_QUICKBAR_H +#define KRADIO_QUICKBAR_H + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <qwidget.h> + +#include "../../src/include/radio_interfaces.h" +#include "../../src/include/widgetplugins.h" +#include "../../src/include/stationselection_interfaces.h" + +class ButtonFlowLayout; +class QButtonGroup; +class KConfig; +class QToolButton; + +/** + *@author Martin Witte / Klas Kalass + */ + +class QuickBar : public QWidget, + public WidgetPluginBase, + public IRadioClient, + public IStationSelection +{ +Q_OBJECT +public: + QuickBar(const QString &name = QString::null); + ~QuickBar(); + + virtual QString pluginClassName() const { return "QuickBar"; } + + const QString &name() const { return PluginBase::name(); } + QString &name() { return PluginBase::name(); } + + virtual bool connectI(Interface *i); + virtual bool disconnectI(Interface *i); + + // IStationSelection + +RECEIVERS: + bool setStationSelection(const QStringList &sl); + +ANSWERS: + const QStringList & getStationSelection () const { return m_stationIDs; } + + + // PluginBase + +public: + virtual void saveState (KConfig *) const; + virtual void restoreState (KConfig *); + + virtual ConfigPageInfo createConfigurationPage(); + virtual AboutPageInfo createAboutPage(); + + // IRadioClient + +RECEIVERS: + bool noticePowerChanged(bool on); + bool noticeStationChanged (const RadioStation &, int idx); + bool noticeStationsChanged(const StationList &sl); + bool noticePresetFileChanged(const QString &/*f*/) { return false; } + + bool noticeCurrentSoundStreamIDChanged(SoundStreamID /*id*/) { return false; } + + // button/station Management + + +protected slots: + + void buttonClicked(int id); + +protected: + + int getButtonID(const RadioStation &rs) const; + void activateCurrentButton(); + void activateButton(const RadioStation &); + + void autoSetCaption(); + + + void dragEnterEvent(QDragEnterEvent* event); + void dropEvent(QDropEvent* event); + + // KDE/QT + +public slots: + + void toggleShown() { WidgetPluginBase::pToggleShown(); } + void show(); + void hide(); + void showOnOrgDesktop(); + void setGeometry (const QRect &r); + void setGeometry (int x, int y, int w, int h); + +protected: + void rebuildGUI(); + void showEvent(QShowEvent *); + void hideEvent(QHideEvent *); + void resizeEvent(QResizeEvent *); + + const QWidget *getWidget() const { return this; } + QWidget *getWidget() { return this; } + +protected : + + ButtonFlowLayout *m_layout; + QButtonGroup *m_buttonGroup; + + QPtrList<QToolButton> m_buttons; + + // config + bool m_showShortName; + QStringList m_stationIDs; + + bool m_ignoreNoticeActivation; +}; +#endif |
