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/optionseditor.h

148 lines
3.7 KiB

#ifndef OPTIONSEDITOR_H
#define OPTIONSEDITOR_H
#include <kdialogbase.h>
//#include <kpushbutton.h>
class Options;
class Config;
class TagEngine;
class FileList;
class FileListItem;
class KLineEdit;
class KComboBox;
class KIntSpinBox;
class KTextEdit;
class KPushButton;
class TQLabel;
/**
* @short The options edit dialog that can be opened through the file list's context menu
* @author Daniel Faust <hessijames@gmail.com>
* @version 0.3
*/
class OptionsEditor : public KDialogBase
{
TQ_OBJECT
public:
enum Page {
OptionsPage,
TagsPage
};
/**
* Constructor
*/
OptionsEditor( TagEngine*, Config*, FileList* _fileList, TQWidget* parent = 0, const char* name=0, Page startPage = OptionsPage );
/**
* Destructor
*/
virtual ~OptionsEditor();
FileListItem* selectedItem();
private:
FileList* fileList;
Config* config;
TagEngine* tagEngine;
TQFrame* conversionOptions;
TQFrame* tags;
/** The widget, where we can set our output options */
Options* options;
/** A lineedit for entering the title of track */
TQLabel* lTitleLabel;
KLineEdit* lTitle;
KPushButton* pTitleEdit;
/** A spinbox for entering or selecting the track number */
TQLabel* lNumberLabel;
KIntSpinBox* iNumber;
KPushButton* pNumberEdit;
/** A lineedit for entering the artist of a track */
TQLabel* lArtistLabel;
KLineEdit* lArtist;
KPushButton* pArtistEdit;
/** A lineedit for entering the composer of a track */
TQLabel* lComposerLabel;
KLineEdit* lComposer;
KPushButton* pComposerEdit;
/** A lineedit for entering the album name */
TQLabel* lAlbumLabel;
KLineEdit* lAlbum;
KPushButton* pAlbumEdit;
/** A spinbox for entering or selecting the disc number */
TQLabel* lDiscLabel;
KIntSpinBox* iDisc;
KPushButton* pDiscEdit;
/** A spinbox for entering or selecting the year of the album */
TQLabel* lYearLabel;
KIntSpinBox* iYear;
KPushButton* pYearEdit;
/** A combobox for entering or selecting the genre of the album */
TQLabel* lGenreLabel;
KComboBox* cGenre;
KPushButton* pGenreEdit;
/** A textedit for entering a comment for a track */
TQLabel* lCommentLabel;
KTextEdit* tComment;
KPushButton* pCommentEdit;
/** When hitting this button, the options lock (when multiple files are selected) will be deactivated */
TQLabel* lEditOptions;
KPushButton* pEditOptions;
/** When hitting this button, the tag lock (when reading tags failed) will be deactivated */
TQLabel* lEditTags;
KPushButton* pEditTags;
//FileListItem* currentItem;
TQValueList<FileListItem*> selectedItems;
void setTagInputEnabled( bool enabled );
private slots:
void optionsChanged();
void editTitleClicked();
void editNumberClicked();
void editArtistClicked();
void editComposerClicked();
void editAlbumClicked();
void editDiscClicked();
void editYearClicked();
void editGenreClicked();
void editCommentClicked();
void titleChanged( const TQString& text );
void numberChanged( int value );
void artistChanged( const TQString& text );
void composerChanged( const TQString& text );
void albumChanged( const TQString& text );
void discChanged( int value );
void yearChanged( int value );
void genreChanged( const TQString& text );
void commentChanged();
void editOptionsClicked();
void editTagsClicked();
public slots:
void itemsSelected( TQValueList<FileListItem*> );
void setPreviousEnabled( bool );
void setNextEnabled( bool );
//void moveWindow( int x, int y );
signals:
void previousItem();
void nextItem();
};
#endif // OPTIONSEDITOR_H