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:
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
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
00263
00264
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
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