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

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

SMPlayer: updated trunk to 14.9.0

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