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.
148 lines
3.7 KiB
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
|