X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fplayerform.h;h=cbfa802e1c405566053bd215320e97d2c864abb9;hb=6d75a8b2ab5c0addae2c5baad06687e8f4fc088d;hp=91c1e3fb1f071448cc26de7034979c81ae5ffc53;hpb=dd00ef6be1a5989020c9ae2c1fa6c17910b260d1;p=someplayer diff --git a/src/playerform.h b/src/playerform.h index 91c1e3f..cbfa802 100644 --- a/src/playerform.h +++ b/src/playerform.h @@ -1,3 +1,22 @@ +/* + * SomePlayer - An alternate music player for Maemo 5 + * Copyright (C) 2010 Nikolay (somebody) Tischenko + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + #ifndef PLAYERFORM_H #define PLAYERFORM_H @@ -7,6 +26,13 @@ #include #include "player/player.h" #include +#include +#include +#include +#include "trackrenderer.h" +#include "tagresolver.h" +#include "dbusadaptor.h" +#include "toolswidget.h" namespace Ui { class PlayerForm; @@ -16,6 +42,8 @@ using SomePlayer::DataObjects::Library; using SomePlayer::DataObjects::Playlist; using SomePlayer::DataObjects::Track; using SomePlayer::Playback::Player; +using SomePlayer::Playback::PlayerState; +using SomePlayer::DataObjects::TagResolver; class PlayerForm : public QWidget { @@ -23,30 +51,78 @@ class PlayerForm : public QWidget public: explicit PlayerForm(Library *lib, QWidget *parent = 0); - ~PlayerForm(); + ~PlayerForm(); + bool isEqualizerEnabled() { return _player->equalizerEnabled(); } + bool isEqualizerAvailable() { return _player->equalizerAvailable(); } + signals: void library(); + void fullscreen(bool); + void clearPlaylist(); + void refreshLibrary(); + void dirView(); public slots: - void reload(); + void reload(bool); + void search(QString); + void nextItem(); + void prevItem(); + void cancelSearch(); + void addFiles(QList files); + void stop(); + void setEqualizerValue(int band, double value) { _player->setEqualizerValue(band, value); } + void equalizerValue(int band, double *value) { _player->equalizerValue(band, value); } + void enableEqualizer() { _player->enableEqualizer(); } + void disableEqualizer() { _player->disableEqualizer(); } + void portraitMode(); + void landscapeMode(); + void updateIcons(); + void checkGradient(); + void play(Track); private slots: void _library(); + void _dirview(); void _toggle_view(); void _process_click(QModelIndex); void _track_changed(Track); void _tick(int, int); void _slider_released(); + void _custom_context_menu_requested ( const QPoint & pos ); + void _delete_track(); + void _enqueue_track(); + void _add_to_favorites(); + void _add_to_playlists(); + void _edit_tags(); + void _state_changed(PlayerState); + void _toggle_repeat(); + void _toggle_random(); + void _track_decoded(Track); + void _tools_widget_toggle(); private: Ui::PlayerForm *ui; Library *_lib; Playlist _current_playlist; + QTime *_time; QStandardItemModel *_model; Player *_player; QSlider *_seek_slider; + QMenu *_context_menu; + QString _search_pattern; + ToolsWidget *_tools_widget; + QPushButton *_fscreen_button; + bool landscape; + QString _icons_theme; + QString _top_gradient; + QString _bottom_gradient; + TrackRenderer *_track_renderer; + TagResolver *_tag_resolver; void _display_track(Track); + int _search_current_id; + + DBusAdaptop *_dbusadaptor; }; #endif // PLAYERFORM_H