You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
soundkonverter/src/soundkonverter.h

207 lines
4.8 KiB

#ifndef SOUNDKONVERTER_H
#define SOUNDKONVERTER_H
#include "dcopinterface.h"
#include <kmainwindow.h>
class Config;
class Options;
class FileList;
class ProgressIndicator;
class ComboButton;
class CDManager;
class TagEngine;
class Convert;
class ReplayGainScanner;
class CuesheetEditor;
class Logger;
class LogViewer;
class QProgressBar;
class KPushButton;
class KAction;
class KToggleAction;
class KActionMenu;
class KSystemTray;
/**
* @short The main window and connections to all other classes
* @author Daniel Faust <hessijames@gmail.com>
* @version 0.3
*/
class soundKonverter : public KMainWindow, virtual public DCOPInterface
{
Q_OBJECT
public:
/**
* Constructor
*/
soundKonverter();
/**
* Destructor
*/
virtual ~soundKonverter();
/**
* When a new instance of soundKonverter should be created,
* this function is called and all @p files are passed, that should be opened (for conversion).
*/
void openArgFiles( const QStringList &files );
/**
* When a new instance of soundKonverter should be created,
* this function is called and all @p files are passed, that should be opened for editing the replaygain tag.
*/
void openArgReplayGainFiles( const QStringList &files );
/*
* When a new instance of soundKonverter should be created,
* this function is called and all @p files are passed, that should be opened for repair.
*/
// void openArgRepairFiles( const QStringList &files );
/**
* When a new instance of soundKonverter should be created,
* this function is called and instances is increased.
*/
void increaseInstances();
/**
* Returns the number of 'started' instances
*/
int getInstances() { return instances; }
QString device;
QString format;
QString profile;
QString directory;
bool visible;
bool autoclose;
void setNotify( const QString& cmd );
/** A system tray icon that is shown, when the main window is hidden */
KSystemTray* systemTray;
//virtual void moveEvent( QMoveEvent* );
protected:
virtual bool queryClose();
private:
/** Saves the amount of calls to create a new instance (only one instance is running at the same time) */
int instances;
/** All configuration information */
Config* config;
/** Log everything */
Logger* logger;
/** Show the logs */
LogViewer* logViewer;
/** The widget, where we can set our output options */
Options* options;
/** The list view with all files (for conversion) */
FileList* fileList;
/** Displays the current progress */
ProgressIndicator* progressIndicator;
/** The CD manager */
CDManager* cdManager;
/** The tag engine */
TagEngine* tagEngine;
/** The conversion engine */
Convert* convert;
/** The Replay Gain tool */
ReplayGainScanner* replayGainScanner;
/** The cuesheet editor */
CuesheetEditor* cuesheetEditor;
/** The combobutton for adding files */
ComboButton* cAdd;
/** The button to start the conversion */
KPushButton* pStart;
/** The button to stop the conversion */
KPushButton* pStop;
KAction* startAction;
KAction* stopAction;
KAction* continueAction;
KAction* killAction;
KActionMenu* stopActionMenu;
KToggleAction* showToolBarAction;
// KToggleAction* veryHighPriorityAction;
// KToggleAction* highPriorityAction;
// KToggleAction* normalPriorityAction;
// KToggleAction* lowPriorityAction;
// KToggleAction* veryLowPriorityAction;
// KActionMenu* priorityActionMenu;
int configStartPage;
private slots:
/**
* The conversion has started
*/
void startedConversion();
/**
* The user clicked on stop/continue conversion
*/
void stopClicked();
void continueClicked();
/**
* The conversion has stopped
*/
void stoppedConversion();
// void priorityChanged();
/**
* The combobutton for adding files was clicked and the item @p index was selected
*/
void addClicked( int index );
void showReplayGainScanner();
void showRepairTool();
void showCuesheetEditor();
void showLogViewer();
void showConfigDialog();
void showConfigPluginsPage();
void showConfigEnvironmentPage();
// void showAboutPlugins();
void showToolbar();
void editToolbar();
void newToolbarConfig();
void fileCountChanged( int );
void setTitle( const QString& );
//void openCuesheetEditor( const QString& content );
public slots:
void showFileDialog();
void showDirDialog();
void showCdDialog( bool intern = true );
void showUrlDialog();
signals:
//void windowMoved( int x, int y );
// void setPriority( int );
// void addFilesToReplayGainScanner( QStringList );
};
#endif // SOUNDKONVERTER_H