source: smplayer/trunk/src/basegui.h@ 156

Last change on this file since 156 was 156, checked in by Silvan Scherrer, 11 years ago

SMPlayer: update trunk to 0.8.6

  • Property svn:eol-style set to LF
File size: 19.4 KB
Line 
1/* smplayer, GUI front-end for mplayer.
2 Copyright (C) 2006-2013 Ricardo Villalba <rvm@users.sourceforge.net>
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17*/
18
19#ifndef _BASEGUI_H_
20#define _BASEGUI_H_
21
22#include <QMainWindow>
23#include <QNetworkProxy>
24#include "mediadata.h"
25#include "mediasettings.h"
26#include "preferences.h"
27#include "core.h"
28#include "config.h"
29#include "guiconfig.h"
30
31#ifdef Q_OS_WIN
32/* Disable screensaver by event */
33#include <windows.h>
34#endif
35
36class QWidget;
37class QMenu;
38class LogWindow;
39class MplayerWindow;
40
41class QLabel;
42class FilePropertiesDialog;
43class VideoEqualizer2;
44class AudioEqualizer;
45class Playlist;
46#ifdef FIND_SUBTITLES
47class FindSubtitlesWindow;
48#endif
49
50#ifdef VIDEOPREVIEW
51class VideoPreview;
52#endif
53
54class MyAction;
55class MyActionGroup;
56class PreferencesDialog;
57class Favorites;
58class TVList;
59class UpdateChecker;
60
61#if !defined(Q_OS_WIN) || defined(PORTABLE_APP)
62#define REMINDER_ACTIONS 1
63#endif
64
65class BaseGui : public QMainWindow
66{
67 Q_OBJECT
68
69public:
70 BaseGui( QWidget* parent = 0, Qt::WindowFlags flags = 0 );
71 ~BaseGui();
72
73 /* Return true if the window shouldn't show on startup */
74 virtual bool startHidden() { return false; };
75
76 //! Execute all actions in \a actions. The actions should be
77 //! separated by spaces. Checkable actions could have a parameter:
78 //! true or false.
79 void runActions(QString actions);
80
81 //! Execute all the actions after the video has started to play
82 void runActionsLater(QString actions) { pending_actions_to_run = actions; };
83
84#ifdef LOG_SMPLAYER
85 //! Saves the line from the smplayer output
86 void recordSmplayerLog(QString line);
87#endif
88
89public slots:
90 virtual void open(QString file); // Generic open, autodetect type.
91 virtual void openFile();
92 virtual void openFile(QString file);
93 virtual void openFiles(QStringList files);
94 virtual void openFavorite(QString file);
95 virtual void openURL();
96 virtual void openURL(QString url);
97 virtual void openVCD();
98 virtual void openAudioCD();
99 virtual void openDVD();
100 virtual void openDVDFromFolder();
101 virtual void openDVDFromFolder(QString directory);
102 virtual void openDirectory();
103 virtual void openDirectory(QString directory);
104
105 virtual void helpFirstSteps();
106 virtual void helpFAQ();
107 virtual void helpCLOptions();
108 virtual void helpCheckUpdates();
109#ifdef REMINDER_ACTIONS
110 virtual void helpDonate();
111#endif
112 virtual void helpShowConfig();
113 virtual void helpAbout();
114 virtual void helpAboutQt();
115
116 virtual void shareSMPlayer();
117
118 virtual void loadSub();
119 virtual void loadAudioFile(); // Load external audio file
120
121 void setInitialSubtitle(const QString & subtitle_file);
122
123#ifdef FIND_SUBTITLES
124 virtual void showFindSubtitlesDialog();
125 virtual void openUploadSubtitlesPage(); //turbos
126#endif
127
128#ifdef VIDEOPREVIEW
129 virtual void showVideoPreviewDialog();
130#endif
131
132#ifdef YOUTUBE_SUPPORT
133 virtual void showTubeBrowser();
134#endif
135
136 virtual void showPlaylist();
137 virtual void showPlaylist(bool b);
138 virtual void showVideoEqualizer();
139 virtual void showVideoEqualizer(bool b);
140 virtual void showAudioEqualizer();
141 virtual void showAudioEqualizer(bool b);
142#ifdef LOG_MPLAYER
143 virtual void showMplayerLog();
144#endif
145#ifdef LOG_SMPLAYER
146 virtual void showLog();
147#endif
148 virtual void showPreferencesDialog();
149 virtual void showFilePropertiesDialog();
150
151 virtual void showGotoDialog();
152 virtual void showSubDelayDialog();
153 virtual void showAudioDelayDialog();
154
155 virtual void exitFullscreen();
156 virtual void toggleFullscreen();
157 virtual void toggleFullscreen(bool);
158
159 virtual void toggleCompactMode();
160 virtual void toggleCompactMode(bool);
161
162 void setStayOnTop(bool b);
163 virtual void changeStayOnTop(int);
164 virtual void checkStayOnTop(Core::State);
165 void toggleStayOnTop();
166
167 void setForceCloseOnFinish(int n) { arg_close_on_finish = n; };
168 int forceCloseOnFinish() { return arg_close_on_finish; };
169
170 void setForceStartInFullscreen(int n) { arg_start_in_fullscreen = n; };
171 int forceStartInFullscreen() { return arg_start_in_fullscreen; };
172
173
174protected slots:
175 virtual void closeWindow();
176
177 virtual void setJumpTexts();
178
179 // Replace for setCaption (in Qt 4 it's not virtual)
180 virtual void setWindowCaption(const QString & title);
181
182 //virtual void openRecent(int item);
183 virtual void openRecent();
184 virtual void enterFullscreenOnPlay();
185 virtual void exitFullscreenOnStop();
186 virtual void exitFullscreenIfNeeded();
187 virtual void playlistHasFinished();
188
189 virtual void displayState(Core::State state);
190 virtual void displayMessage(QString message, int time);
191 virtual void displayMessage(QString message);
192 virtual void gotCurrentTime(double);
193
194 virtual void initializeMenus();
195 virtual void updateWidgets();
196 virtual void updateVideoEqualizer();
197 virtual void updateAudioEqualizer();
198 virtual void setDefaultValuesFromVideoEqualizer();
199 virtual void changeVideoEqualizerBySoftware(bool b);
200
201 virtual void newMediaLoaded();
202 virtual void updateMediaInfo();
203
204 void checkPendingActionsToRun();
205
206#if REPORT_OLD_MPLAYER
207 void checkMplayerVersion();
208 void displayWarningAboutOldMplayer();
209#endif
210
211#ifdef UPDATE_CHECKER
212 void reportNewVersionAvailable(QString);
213#endif
214
215#ifdef CHECK_UPGRADED
216 void checkIfUpgraded();
217#endif
218
219#ifdef REMINDER_ACTIONS
220 void checkReminder();
221#endif
222
223#ifdef YOUTUBE_SUPPORT
224 void YTNoSignature(const QString &);
225 #ifdef YT_USE_SCRIPT
226 void YTUpdateScript();
227 #endif
228#endif
229
230#if AUTODISABLE_ACTIONS
231 virtual void enableActionsOnPlaying();
232 virtual void disableActionsOnStop();
233 virtual void togglePlayAction(Core::State);
234#endif
235
236 void changeSizeFactor(int factor);
237 void toggleDoubleSize();
238 void resizeMainWindow(int w, int h);
239 void resizeWindow(int w, int h);
240 virtual void hidePanel();
241
242 /* virtual void playlistVisibilityChanged(); */
243
244 virtual void displayGotoTime(int);
245 //! You can call this slot to jump to the specified percentage in the video, while dragging the slider.
246 virtual void goToPosOnDragging(int);
247
248 virtual void showPopupMenu();
249 virtual void showPopupMenu( QPoint p );
250 /*
251 virtual void mouseReleaseEvent( QMouseEvent * e );
252 virtual void mouseDoubleClickEvent( QMouseEvent * e );
253 */
254
255 virtual void leftClickFunction();
256 virtual void rightClickFunction();
257 virtual void doubleClickFunction();
258 virtual void middleClickFunction();
259 virtual void xbutton1ClickFunction();
260 virtual void xbutton2ClickFunction();
261 virtual void processFunction(QString function);
262
263 virtual void dragEnterEvent( QDragEnterEvent * ) ;
264 virtual void dropEvent ( QDropEvent * );
265
266 virtual void applyNewPreferences();
267 virtual void applyFileProperties();
268
269 virtual void clearRecentsList();
270
271 virtual void loadActions();
272 virtual void saveActions();
273
274 // Check the mouse pos in fullscreen mode, to
275 // show the controlwidget if it's moved to
276 // the bottom area.
277 virtual void checkMousePos( QPoint );
278 virtual void moveWindow(QPoint diff);
279
280 // Single instance stuff
281#ifdef SINGLE_INSTANCE
282 void handleMessageFromOtherInstances(const QString& message);
283#endif
284
285 //! Called when core can't parse the mplayer version and there's no
286 //! version supplied by the user
287 void askForMplayerVersion(QString);
288
289 void showExitCodeFromMplayer(int exit_code);
290 void showErrorFromMplayer(QProcess::ProcessError);
291
292 // stylesheet
293#if ALLOW_CHANGE_STYLESHEET
294 virtual void loadQss(QString filename);
295 virtual void changeStyleSheet(QString style);
296#endif
297
298#if defined(Q_OS_WIN) || defined(Q_OS_OS2)
299 /* Disable screensaver by event */
300 void clear_just_stopped();
301#endif
302
303#ifdef LOG_MPLAYER
304 //! Clears the mplayer log
305 void clearMplayerLog();
306
307 //! Saves the line from the mplayer output
308 void recordMplayerLog(QString line);
309
310 //! Saves the mplayer log to a file every time a file is loaded
311 void autosaveMplayerLog();
312#endif
313
314signals:
315 void frameChanged(int);
316 void ABMarkersChanged(int secs_a, int secs_b);
317 void videoInfoChanged(int width, int height, double fps);
318 void timeChanged(QString time_ready_to_print);
319
320 void cursorNearTop(QPoint);
321 void cursorNearBottom(QPoint);
322 void cursorFarEdges();
323
324 void wheelUp();
325 void wheelDown();
326 /*
327 void doubleClicked();
328 void leftClicked();
329 void middleClicked();
330 */
331
332 //! Sent when the user wants to close the main window
333 void quitSolicited();
334
335 //! Sent when another instance requested to play a file
336 void openFileRequested();
337
338#ifdef GUI_CHANGE_ON_RUNTIME
339 void guiChanged(QString gui);
340#endif
341
342protected:
343 virtual void retranslateStrings();
344 virtual void changeEvent(QEvent * event);
345 virtual void hideEvent( QHideEvent * );
346 virtual void showEvent( QShowEvent * );
347#ifdef Q_OS_WIN
348 /* Disable screensaver by event */
349 virtual bool winEvent ( MSG * m, long * result );
350#endif
351
352 virtual void aboutToEnterFullscreen();
353 virtual void aboutToExitFullscreen();
354 virtual void aboutToEnterCompactMode();
355 virtual void aboutToExitCompactMode();
356
357protected:
358 void createCore();
359 void createMplayerWindow();
360 void createVideoEqualizer();
361 void createAudioEqualizer();
362 void createPlaylist();
363 void createPanel();
364 void createPreferencesDialog();
365 void createFilePropertiesDialog();
366 void setDataToFileProperties();
367 void initializeGui();
368 void createActions();
369#if AUTODISABLE_ACTIONS
370 void setActionsEnabled(bool);
371#endif
372 void createMenus();
373 void updateRecents();
374 void configureDiscDevices();
375 /* virtual void closeEvent( QCloseEvent * e ); */
376
377protected:
378 virtual void wheelEvent( QWheelEvent * e ) ;
379
380protected:
381 QWidget * panel;
382
383 // Menu File
384 MyAction * openFileAct;
385 MyAction * openDirectoryAct;
386 MyAction * openPlaylistAct;
387 MyAction * openVCDAct;
388 MyAction * openAudioCDAct;
389 MyAction * openDVDAct;
390 MyAction * openDVDFolderAct;
391 MyAction * openURLAct;
392 MyAction * exitAct;
393 MyAction * clearRecentsAct;
394
395 // Menu Play
396 MyAction * playAct;
397 MyAction * playOrPauseAct;
398 MyAction * pauseAct;
399 MyAction * pauseAndStepAct;
400 MyAction * stopAct;
401 MyAction * frameStepAct;
402 MyAction * rewind1Act;
403 MyAction * rewind2Act;
404 MyAction * rewind3Act;
405 MyAction * forward1Act;
406 MyAction * forward2Act;
407 MyAction * forward3Act;
408 MyAction * repeatAct;
409 MyAction * setAMarkerAct;
410 MyAction * setBMarkerAct;
411 MyAction * clearABMarkersAct;
412 MyAction * gotoAct;
413
414 // Menu Speed
415 MyAction * normalSpeedAct;
416 MyAction * halveSpeedAct;
417 MyAction * doubleSpeedAct;
418 MyAction * decSpeed10Act;
419 MyAction * incSpeed10Act;
420 MyAction * decSpeed4Act;
421 MyAction * incSpeed4Act;
422 MyAction * decSpeed1Act;
423 MyAction * incSpeed1Act;
424
425 // Menu Video
426 MyAction * fullscreenAct;
427 MyAction * compactAct;
428 MyAction * videoEqualizerAct;
429 MyAction * screenshotAct;
430 MyAction * screenshotsAct;
431#ifdef VIDEOPREVIEW
432 MyAction * videoPreviewAct;
433#endif
434 MyAction * flipAct;
435 MyAction * mirrorAct;
436 MyAction * postProcessingAct;
437 MyAction * phaseAct;
438 MyAction * deblockAct;
439 MyAction * deringAct;
440 MyAction * gradfunAct;
441 MyAction * addNoiseAct;
442 MyAction * addLetterboxAct;
443 MyAction * upscaleAct;
444
445 // Menu Audio
446 MyAction * audioEqualizerAct;
447 MyAction * muteAct;
448 MyAction * decVolumeAct;
449 MyAction * incVolumeAct;
450 MyAction * decAudioDelayAct;
451 MyAction * incAudioDelayAct;
452 MyAction * audioDelayAct; // Ask for delay
453 MyAction * extrastereoAct;
454 MyAction * karaokeAct;
455 MyAction * volnormAct;
456 MyAction * loadAudioAct;
457 MyAction * unloadAudioAct;
458
459 // Menu Subtitles
460 MyAction * loadSubsAct;
461 MyAction * unloadSubsAct;
462 MyAction * decSubDelayAct;
463 MyAction * incSubDelayAct;
464 MyAction * subDelayAct; // Ask for delay
465 MyAction * decSubPosAct;
466 MyAction * incSubPosAct;
467 MyAction * incSubStepAct;
468 MyAction * decSubStepAct;
469 MyAction * incSubScaleAct;
470 MyAction * decSubScaleAct;
471 MyAction * useAssAct;
472 MyAction * useForcedSubsOnlyAct;
473 MyAction * subVisibilityAct;
474#ifdef FIND_SUBTITLES
475 MyAction * showFindSubtitlesDialogAct;
476 MyAction * openUploadSubtitlesPageAct;//turbos
477#endif
478
479 // Menu Options
480 MyAction * showPlaylistAct;
481 MyAction * showPropertiesAct;
482 MyAction * showPreferencesAct;
483#ifdef YOUTUBE_SUPPORT
484 MyAction * showTubeBrowserAct;
485#endif
486#ifdef LOG_MPLAYER
487 MyAction * showLogMplayerAct;
488#endif
489#ifdef LOG_SMPLAYER
490 MyAction * showLogSmplayerAct;
491#endif
492
493 // Menu Help
494 MyAction * showFirstStepsAct;
495 MyAction * showFAQAct;
496 MyAction * showCLOptionsAct; // Command line options
497 MyAction * showCheckUpdatesAct;
498#if defined(YOUTUBE_SUPPORT) && defined(YT_USE_SCRIPT)
499 MyAction * updateYTAct;
500#endif
501 MyAction * showConfigAct;
502#ifdef REMINDER_ACTIONS
503 MyAction * donateAct;
504#endif
505 MyAction * aboutQtAct;
506 MyAction * aboutThisAct;
507
508 MyAction * facebookAct;
509 MyAction * twitterAct;
510 MyAction * gmailAct;
511 MyAction * hotmailAct;
512 MyAction * yahooAct;
513
514 // Playlist
515 MyAction * playPrevAct;
516 MyAction * playNextAct;
517
518 // Actions not in menus
519#if !USE_MULTIPLE_SHORTCUTS
520 MyAction * decVolume2Act;
521 MyAction * incVolume2Act;
522#endif
523 MyAction * exitFullscreenAct;
524 MyAction * nextOSDAct;
525 MyAction * decContrastAct;
526 MyAction * incContrastAct;
527 MyAction * decBrightnessAct;
528 MyAction * incBrightnessAct;
529 MyAction * decHueAct;
530 MyAction * incHueAct;
531 MyAction * decSaturationAct;
532 MyAction * incSaturationAct;
533 MyAction * decGammaAct;
534 MyAction * incGammaAct;
535 MyAction * nextVideoAct;
536 MyAction * nextAudioAct;
537 MyAction * nextSubtitleAct;
538 MyAction * nextChapterAct;
539 MyAction * prevChapterAct;
540 MyAction * doubleSizeAct;
541 MyAction * resetVideoEqualizerAct;
542 MyAction * resetAudioEqualizerAct;
543 MyAction * showContextMenuAct;
544 MyAction * nextAspectAct;
545 MyAction * nextWheelFunctionAct;
546
547 MyAction * showFilenameAct;
548 MyAction * toggleDeinterlaceAct;
549
550 // Moving and zoom
551 MyAction * moveUpAct;
552 MyAction * moveDownAct;
553 MyAction * moveLeftAct;
554 MyAction * moveRightAct;
555 MyAction * incZoomAct;
556 MyAction * decZoomAct;
557 MyAction * resetZoomAct;
558 MyAction * autoZoomAct;
559 MyAction * autoZoom169Act;
560 MyAction * autoZoom235Act;
561
562#if USE_MPLAYER_PANSCAN
563 MyAction * incPanscanAct;
564 MyAction * decPanscanAct;
565#endif
566
567 // OSD Action Group
568 MyActionGroup * osdGroup;
569 MyAction * osdNoneAct;
570 MyAction * osdSeekAct;
571 MyAction * osdTimerAct;
572 MyAction * osdTotalAct;
573
574 // Denoise Action Group
575 MyActionGroup * denoiseGroup;
576 MyAction * denoiseNoneAct;
577 MyAction * denoiseNormalAct;
578 MyAction * denoiseSoftAct;
579
580 // Blur-sharpen group
581 MyActionGroup * unsharpGroup;
582 MyAction * unsharpNoneAct;
583 MyAction * blurAct;
584 MyAction * sharpenAct;
585
586 // Window Size Action Group
587 MyActionGroup * sizeGroup;
588 MyAction * size50;
589 MyAction * size75;
590 MyAction * size100;
591 MyAction * size125;
592 MyAction * size150;
593 MyAction * size175;
594 MyAction * size200;
595 MyAction * size300;
596 MyAction * size400;
597
598 // Deinterlace Action Group
599 MyActionGroup * deinterlaceGroup;
600 MyAction * deinterlaceNoneAct;
601 MyAction * deinterlaceL5Act;
602 MyAction * deinterlaceYadif0Act;
603 MyAction * deinterlaceYadif1Act;
604 MyAction * deinterlaceLBAct;
605 MyAction * deinterlaceKernAct;
606
607 // Aspect Action Group
608 MyActionGroup * aspectGroup;
609 MyAction * aspectDetectAct;
610 MyAction * aspectNoneAct;
611 MyAction * aspect11Act; // 1:1
612 MyAction * aspect32Act; // 3:2
613 MyAction * aspect43Act; // 4:3
614 MyAction * aspect54Act; // 5:4
615 MyAction * aspect149Act; // 14:9
616 MyAction * aspect1410Act; // 14:10
617 MyAction * aspect169Act; // 16:9
618 MyAction * aspect1610Act; // 16:10
619 MyAction * aspect235Act; // 2.35:1
620
621 // Rotate Group
622 MyActionGroup * rotateGroup;
623 MyAction * rotateNoneAct;
624 MyAction * rotateClockwiseFlipAct;
625 MyAction * rotateClockwiseAct;
626 MyAction * rotateCounterclockwiseAct;
627 MyAction * rotateCounterclockwiseFlipAct;
628
629 // Menu StayOnTop
630 MyActionGroup * onTopActionGroup;
631 MyAction * onTopAlwaysAct;
632 MyAction * onTopNeverAct;
633 MyAction * onTopWhilePlayingAct;
634 MyAction * toggleStayOnTopAct;
635
636#if USE_ADAPTER
637 // Screen Group
638 MyActionGroup * screenGroup;
639 MyAction * screenDefaultAct;
640#endif
641
642 // Closed Captions Group
643 MyActionGroup * ccGroup;
644 MyAction * ccNoneAct;
645 MyAction * ccChannel1Act;
646 MyAction * ccChannel2Act;
647 MyAction * ccChannel3Act;
648 MyAction * ccChannel4Act;
649
650 // External sub fps Group
651 MyActionGroup * subFPSGroup;
652 MyAction * subFPSNoneAct;
653 /* MyAction * subFPS23Act; */
654 MyAction * subFPS23976Act;
655 MyAction * subFPS24Act;
656 MyAction * subFPS25Act;
657 MyAction * subFPS29970Act;
658 MyAction * subFPS30Act;
659
660 // Audio Channels Action Group
661 MyActionGroup * channelsGroup;
662 /* MyAction * channelsDefaultAct; */
663 MyAction * channelsStereoAct;
664 MyAction * channelsSurroundAct;
665 MyAction * channelsFull51Act;
666 MyAction * channelsFull61Act;
667 MyAction * channelsFull71Act;
668
669 // Stereo Mode Action Group
670 MyActionGroup * stereoGroup;
671 MyAction * stereoAct;
672 MyAction * leftChannelAct;
673 MyAction * rightChannelAct;
674 MyAction * monoAct;
675 MyAction * reverseAct;
676
677 // Other groups
678#if PROGRAM_SWITCH
679 MyActionGroup * programTrackGroup;
680#endif
681 MyActionGroup * videoTrackGroup;
682 MyActionGroup * audioTrackGroup;
683 MyActionGroup * subtitleTrackGroup;
684 MyActionGroup * titleGroup;
685 MyActionGroup * angleGroup;
686 MyActionGroup * chapterGroup;
687
688#if DVDNAV_SUPPORT
689 MyAction * dvdnavUpAct;
690 MyAction * dvdnavDownAct;
691 MyAction * dvdnavLeftAct;
692 MyAction * dvdnavRightAct;
693 MyAction * dvdnavMenuAct;
694 MyAction * dvdnavSelectAct;
695 MyAction * dvdnavPrevAct;
696 MyAction * dvdnavMouseAct;
697#endif
698
699 // MENUS
700 QMenu *openMenu;
701 QMenu *playMenu;
702 QMenu *videoMenu;
703 QMenu *audioMenu;
704 QMenu *subtitlesMenu;
705 QMenu *browseMenu;
706 QMenu *optionsMenu;
707 QMenu *helpMenu;
708
709 QMenu * disc_menu;
710 QMenu * subtitlestrack_menu;
711#if PROGRAM_SWITCH
712 QMenu * programtrack_menu;
713#endif
714 QMenu * videotrack_menu;
715 QMenu * audiotrack_menu;
716 QMenu * titles_menu;
717 QMenu * chapters_menu;
718 QMenu * angles_menu;
719 QMenu * aspect_menu;
720 QMenu * osd_menu;
721 QMenu * deinterlace_menu;
722 QMenu * denoise_menu;
723 QMenu * unsharp_menu;
724 QMenu * videosize_menu;
725 QMenu * audiochannels_menu;
726 QMenu * stereomode_menu;
727
728 QMenu * speed_menu;
729 QMenu * ab_menu; // A-B menu
730 QMenu * videofilter_menu;
731 QMenu * audiofilter_menu;
732#if defined(LOG_MPLAYER) || defined(LOG_SMPLAYER)
733 QMenu * logs_menu;
734#endif
735 QMenu * zoom_menu;
736 QMenu * rotate_menu;
737 QMenu * ontop_menu;
738#if USE_ADAPTER
739 QMenu * screen_menu;
740#endif
741 QMenu * closed_captions_menu;
742 QMenu * subfps_menu;
743
744 QMenu * share_menu;
745
746 QMenu * popup;
747 QMenu * recentfiles_menu;
748
749#ifdef LOG_MPLAYER
750 LogWindow * mplayer_log_window;
751#endif
752#ifdef LOG_SMPLAYER
753 LogWindow * smplayer_log_window;
754#endif
755 LogWindow * clhelp_window;
756
757 PreferencesDialog *pref_dialog;
758 FilePropertiesDialog *file_dialog;
759 Playlist * playlist;
760 VideoEqualizer2 * video_equalizer2;
761 AudioEqualizer * audio_equalizer;
762#ifdef FIND_SUBTITLES
763 FindSubtitlesWindow * find_subs_dialog;
764#endif
765#ifdef VIDEOPREVIEW
766 VideoPreview * video_preview;
767#endif
768
769 Core * core;
770 MplayerWindow *mplayerwindow;
771
772 Favorites * favorites;
773
774 TVList * tvlist;
775 TVList * radiolist;
776
777#ifdef UPDATE_CHECKER
778 UpdateChecker * update_checker;
779#endif
780
781 QStringList actions_list;
782
783 QString pending_actions_to_run;
784
785 // Force settings from command line
786 int arg_close_on_finish; // -1 = not set, 1 = true, 0 = false
787 int arg_start_in_fullscreen; // -1 = not set, 1 = true, 0 = false
788
789private:
790 QString default_style;
791
792 bool near_top;
793 bool near_bottom;
794
795 // Variables to restore pos and size of the window
796 // when exiting from fullscreen mode.
797 QPoint win_pos;
798 QSize win_size;
799 bool was_maximized;
800
801#if defined(Q_OS_WIN) || defined(Q_OS_OS2)
802 /* Disable screensaver by event */
803 bool just_stopped;
804#endif
805
806#ifdef LOG_MPLAYER
807 QString mplayer_log;
808#endif
809#ifdef LOG_SMPLAYER
810 QString smplayer_log;
811#endif
812
813 bool ignore_show_hide_events;
814};
815
816#endif
817
Note: See TracBrowser for help on using the repository browser.