|
|
|
// Maintainer: Max Howell <max.howell@methylblue.com>, (C) 2004
|
|
|
|
// Copyright: See COPYING file that comes with this distribution
|
|
|
|
//
|
|
|
|
// Description: a popupmenu to control various features of Amarok
|
|
|
|
// also provides Amarok's helpMenu
|
|
|
|
|
|
|
|
#ifndef AMAROK_ACTIONCLASSES_H
|
|
|
|
#define AMAROK_ACTIONCLASSES_H
|
|
|
|
|
|
|
|
#include "engineobserver.h"
|
|
|
|
#include "prettypopupmenu.h"
|
|
|
|
#include "sliderwidget.h"
|
|
|
|
|
|
|
|
#include <tdeaction.h>
|
|
|
|
#include <tdeactionclasses.h>
|
|
|
|
#include <tqguardedptr.h>
|
|
|
|
|
|
|
|
class TDEActionCollection;
|
|
|
|
class KHelpMenu;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Amarok
|
|
|
|
{
|
|
|
|
class Menu : public PrettyPopupMenu
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
static Menu *instance();
|
|
|
|
static TDEPopupMenu *helpMenu( TQWidget *parent = 0 );
|
|
|
|
|
|
|
|
enum MenuIds {
|
|
|
|
ID_CONF_DECODER,
|
|
|
|
ID_SHOW_VIS_SELECTOR,
|
|
|
|
ID_SHOW_COVER_MANAGER,
|
|
|
|
ID_CONFIGURE_EQUALIZER,
|
|
|
|
ID_RESCAN_COLLECTION
|
|
|
|
};
|
|
|
|
|
|
|
|
public slots:
|
|
|
|
void slotActivated( int index );
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
void slotAboutToShow();
|
|
|
|
|
|
|
|
private:
|
|
|
|
Menu();
|
|
|
|
|
|
|
|
static KHelpMenu *s_helpMenu;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class MenuAction : public TDEAction
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
MenuAction( TDEActionCollection* );
|
|
|
|
virtual int plug( TQWidget*, int index = -1 );
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class PlayPauseAction : public TDEToggleAction, public EngineObserver
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
PlayPauseAction( TDEActionCollection* );
|
|
|
|
virtual void engineStateChanged( Engine::State, Engine::State = Engine::Empty );
|
|
|
|
};
|
|
|
|
|
|
|
|
class AnalyzerContainer : public TQWidget
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
AnalyzerContainer( TQWidget *parent );
|
|
|
|
protected:
|
|
|
|
virtual void resizeEvent( TQResizeEvent* );
|
|
|
|
virtual void mousePressEvent( TQMouseEvent* );
|
|
|
|
virtual void contextMenuEvent( TQContextMenuEvent* );
|
|
|
|
private:
|
|
|
|
void changeAnalyzer();
|
|
|
|
TQWidget *m_child;
|
|
|
|
};
|
|
|
|
|
|
|
|
class AnalyzerAction : public TDEAction
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
AnalyzerAction( TDEActionCollection* );
|
|
|
|
virtual int plug( TQWidget *, int index = -1 );
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class VolumeAction : public TDEAction, public EngineObserver
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
VolumeAction( TDEActionCollection* );
|
|
|
|
virtual int plug( TQWidget *, int index = -1 );
|
|
|
|
private:
|
|
|
|
void engineVolumeChanged( int value );
|
|
|
|
TQGuardedPtr<Amarok::VolumeSlider> m_slider;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class ToggleAction : public TDEToggleAction
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
ToggleAction( const TQString &text, void ( *f ) ( bool ), TDEActionCollection* const ac, const char *name );
|
|
|
|
|
|
|
|
virtual void setChecked( bool b );
|
|
|
|
|
|
|
|
virtual void setEnabled( bool b );
|
|
|
|
|
|
|
|
private:
|
|
|
|
void ( *m_function ) ( bool );
|
|
|
|
};
|
|
|
|
|
|
|
|
class SelectAction : public TDESelectAction
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
SelectAction( const TQString &text, void ( *f ) ( int ), TDEActionCollection* const ac, const char *name );
|
|
|
|
|
|
|
|
virtual void setCurrentItem( int n );
|
|
|
|
|
|
|
|
virtual void setEnabled( bool b );
|
|
|
|
|
|
|
|
virtual void setIcons( TQStringList icons );
|
|
|
|
|
|
|
|
virtual TQString currentText() const;
|
|
|
|
|
|
|
|
TQStringList icons() const;
|
|
|
|
|
|
|
|
TQString currentIcon() const;
|
|
|
|
|
|
|
|
private:
|
|
|
|
void ( *m_function ) ( int );
|
|
|
|
TQStringList m_icons;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class RandomAction : public SelectAction
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
RandomAction( TDEActionCollection *ac );
|
|
|
|
virtual void setCurrentItem( int n );
|
|
|
|
};
|
|
|
|
|
|
|
|
class FavorAction : public SelectAction
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
FavorAction( TDEActionCollection *ac );
|
|
|
|
};
|
|
|
|
|
|
|
|
class RepeatAction : public SelectAction
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
RepeatAction( TDEActionCollection *ac );
|
|
|
|
};
|
|
|
|
|
|
|
|
class BurnMenu : public TDEPopupMenu
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
enum MenuIds {
|
|
|
|
CURRENT_PLAYLIST,
|
|
|
|
SELECTED_TRACKS
|
|
|
|
};
|
|
|
|
|
|
|
|
static TDEPopupMenu *instance();
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
void slotAboutToShow();
|
|
|
|
void slotActivated( int index );
|
|
|
|
|
|
|
|
private:
|
|
|
|
BurnMenu();
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class BurnMenuAction : public TDEAction
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
BurnMenuAction( TDEActionCollection* );
|
|
|
|
virtual int plug( TQWidget*, int index = -1 );
|
|
|
|
};
|
|
|
|
|
|
|
|
class StopMenu : public TDEPopupMenu
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
enum MenuIds {
|
|
|
|
NOW,
|
|
|
|
AFTER_TRACK,
|
|
|
|
AFTER_QUEUE
|
|
|
|
};
|
|
|
|
|
|
|
|
static TDEPopupMenu *instance();
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
void slotAboutToShow();
|
|
|
|
void slotActivated( int index );
|
|
|
|
|
|
|
|
private:
|
|
|
|
StopMenu();
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class StopAction : public TDEAction
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
StopAction( TDEActionCollection* );
|
|
|
|
virtual int plug( TQWidget*, int index = -1 );
|
|
|
|
};
|
|
|
|
|
|
|
|
} /* namespace Amarok */
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* AMAROK_ACTIONCLASSES_H */
|
|
|
|
|