Noatun API Documentation

app.h

Go to the documentation of this file.
00001 #ifndef NOATUN_H
00002 #define NOATUN_H
00003 
00004 #include <kuniqueapplication.h>
00005 
00006 class Playlist;
00007 class Player;
00008 class LibraryLoader;
00009 class KPopupMenu;
00010 class NoatunPreferences;
00011 class Downloader;
00012 class Effects;
00013 class EffectView;
00014 class Equalizer;
00015 class KDialogBase;
00016 class VEqualizer;
00017 
00018 namespace NoatunStdAction
00019 {
00020         class PluginActionMenu;
00021 }
00022 
00031 class NoatunApp : public KUniqueApplication
00032 {
00033 Q_OBJECT
00034 friend class Playlist;
00035 //friend class KCrash; // Why? [added by mETz, 13.07.2003]
00036 
00037 public:
00038         NoatunApp();
00039         ~NoatunApp();
00040 
00046         Playlist *playlist() const;
00052         Player *player() const { return mPlayer; }
00056         NoatunPreferences *preferencesBox() const { return mPref; }
00057 
00063         QString mimeTypes();
00064 
00065         LibraryLoader *libraryLoader() const { return mLibraryLoader; }
00066         Downloader *downloader() const { return mDownloader; }
00067         static QImage readPNG(const QString &filename);
00068         Effects *effects() const;
00069         ::Equalizer *equalizer() const { return mEqualizer; }
00070         ::VEqualizer *vequalizer();
00071         KDialogBase *equalizerView() const { return mEqualizerView; }
00072 
00073         QCString version() const;
00074 
00075         virtual void commitData(QSessionManager &);
00076         virtual void saveState(QSessionManager &);
00077 
00078 signals:
00082         void hideYourself();
00083 
00087         void showYourself();
00088 
00089 public slots:
00093         void toggleInterfaces();
00097         void showInterfaces();
00102         void hideInterfaces();
00103 
00104 public: //options
00105         bool autoPlay() const;
00106         bool loopList() const;
00107         bool oneInstance() const;
00108         QString saveDirectory() const;
00113         bool clearOnStart() const;
00114         bool clearOnOpen() const;
00115         bool hackUpPlaylist() const;
00116         bool fastMixer() const;
00117         QString titleFormat() const;
00118         bool displayRemaining() const;
00119 
00120         void setOneInstance(bool);
00121         void setLoopList(bool);
00122         void setAutoPlay(bool);
00123         void setSaveDirectory(const QString &);
00124         void setRememberPositions(bool);
00129         void setClearOnStart(bool);
00130         void setClearOnOpen(bool);
00131         void setHackUpPlaylist(bool);
00132         void setFastMixer(bool);
00133         void setTitleFormat(const QString &);
00134         void setDisplayRemaining(bool);
00135 
00140         NoatunStdAction::PluginActionMenu *pluginActionMenu();
00141 
00149         int pluginMenuAdd(const QString &text, const QObject *receiver, const char *member);
00150 
00156         void pluginMenuRemove(int id);
00157 
00163         KPopupMenu *pluginMenu();
00164 
00165 protected:
00166         virtual int newInstance();
00167 
00168 public slots:
00169         // slots for the contextMenu
00176         void preferences();
00180         void quit();
00181         void fileOpen();
00182         void effectView();
00183         void equalizerView();
00184 
00185 private:
00186         void loadPlugins();
00187 
00188 private:
00189         Player *mPlayer;
00190         LibraryLoader *mLibraryLoader;
00191         KPopupMenu *mPluginMenu;
00192         NoatunStdAction::PluginActionMenu *mPluginActionMenu;
00193         Downloader *mDownloader;
00194         struct Private;
00195         Private *d;
00196         EffectView *mEffectView;
00197         NoatunPreferences *mPref;
00198         ::Equalizer *mEqualizer;
00199         KDialogBase *mEqualizerView;
00200         bool showingInterfaces;
00201 };
00202 
00203 #define napp (static_cast<NoatunApp*>(kapp))
00204 
00205 // version info for the plugins
00206 // this is MAJOR.MINOR.PATCHLEVEL
00207 // and you developers better ignore patchlevel :)
00208 #define NOATUN_MAJOR 2
00209 #define NOATUN_MINOR 6
00210 #define NOATUN_PATCHLEVEL 1
00211 
00212 #define NOATUN_VERSION "2.6.1"
00213 
00214 #endif
KDE Logo
This file is part of the documentation for Noatun 2.6.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Fri Oct 22 00:20:36 2004 by doxygen 1.3.8-20040913 written by Dimitri van Heesch, © 1997-2003