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

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

SMPlayer: update trunk to latest 0.8.7

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