Noatun API Documentation

app.h

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 
00036 public:
00037         NoatunApp();
00038         ~NoatunApp();
00039 
00045         Playlist *playlist() const;
00051         Player *player() const { return mPlayer; }
00055         NoatunPreferences *preferencesBox() const { return mPref; }
00056 
00062         QString mimeTypes();
00063 
00064         LibraryLoader *libraryLoader() const { return mLibraryLoader; }
00065         Downloader *downloader() const { return mDownloader; }
00066         static QImage readPNG(const QString &filename);
00067         Effects *effects() const;
00068         ::Equalizer *equalizer() const { return mEqualizer; }
00069         ::VEqualizer *vequalizer();
00070         KDialogBase *equalizerView() const { return mEqualizerView; }
00071 
00072         QCString version() const;
00073 
00074         virtual void commitData(QSessionManager &);
00075         virtual void saveState(QSessionManager &);
00076 
00088         enum StartupPlayMode { Restore = 0, Play, DontPlay };
00089 
00090 signals:
00094         void hideYourself();
00095 
00099         void showYourself();
00100 
00101 public slots:
00105         void toggleInterfaces();
00109         void showInterfaces();
00114         void hideInterfaces();
00115 
00116 public: //options
00120         bool autoPlay() const;
00121         int startupPlayMode() const;
00122         bool loopList() const;
00123         bool oneInstance() const;
00124         QString saveDirectory() const;
00129         bool clearOnStart() const;
00134         bool clearOnOpen() const;
00135         bool hackUpPlaylist() const;
00140         bool fastMixer() const;
00141         QString titleFormat() const;
00146         bool displayRemaining() const;
00147 
00148         void setOneInstance(bool);
00149         void setLoopList(bool);
00153         void setAutoPlay(bool);
00154         void setStartupPlayMode(int mode);
00155         void setSaveDirectory(const QString &);
00156         void setRememberPositions(bool);
00161         void setClearOnStart(bool);
00166         void setClearOnOpen(bool);
00167         void setHackUpPlaylist(bool);
00168 
00172         void setFastMixer(bool);
00173 
00174         void setTitleFormat(const QString &);
00175 
00180         void setDisplayRemaining(bool);
00181 
00186         NoatunStdAction::PluginActionMenu *pluginActionMenu();
00187 
00195         int pluginMenuAdd(const QString &text, const QObject *receiver, const char *member);
00196 
00202         void pluginMenuRemove(int id);
00203 
00209         KPopupMenu *pluginMenu();
00210 
00211 protected:
00212         virtual int newInstance();
00213 
00214 public slots:
00215         // slots for the contextMenu
00222         void preferences();
00226         void quit();
00230         void fileOpen();
00234         void effectView();
00238         void equalizerView();
00239 
00240 private:
00241         void loadPlugins();
00242         void saveEngineState();
00243         void restoreEngineState();
00244 
00245 private:
00246         Player *mPlayer;
00247         LibraryLoader *mLibraryLoader;
00248         KPopupMenu *mPluginMenu;
00249         NoatunStdAction::PluginActionMenu *mPluginActionMenu;
00250         Downloader *mDownloader;
00251         struct Private;
00252         Private *d;
00253         EffectView *mEffectView;
00254         NoatunPreferences *mPref;
00255         ::Equalizer *mEqualizer;
00256         KDialogBase *mEqualizerView;
00257         bool showingInterfaces;
00258 };
00259 
00260 #define napp (static_cast<NoatunApp*>(kapp))
00261 
00262 // version info for the plugins
00263 // this is MAJOR.MINOR.PATCHLEVEL
00264 // and you developers better ignore patchlevel :)
00265 #define NOATUN_MAJOR 2
00266 #define NOATUN_MINOR 6
00267 #define NOATUN_PATCHLEVEL 1
00268 
00269 #define NOATUN_VERSION "2.6.1"
00270 
00271 #endif
KDE Logo
This file is part of the documentation for Noatun 2.6.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Oct 21 23:49:45 2004 by doxygen 1.3.8-20040913 written by Dimitri van Heesch, © 1997-2003