source: smplayer/vendor/current/src/basegui.h@ 168

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

SMPlayer: update vendor to 14.9.0

File size: 19.6 KB
RevLine 
[90]1/* smplayer, GUI front-end for mplayer.
[163]2 Copyright (C) 2006-2014 Ricardo Villalba <[email protected]>
[90]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
[168]32#ifdef AVOID_SCREENSAVER
[90]33/* Disable screensaver by event */
34#include <windows.h>
35#endif
[168]36#endif
[90]37
[163]38//#define SHARE_MENU
39
[90]40class QWidget;
41class QMenu;
42class LogWindow;
43class MplayerWindow;
44
45class QLabel;
46class FilePropertiesDialog;
[163]47class VideoEqualizer;
[90]48class AudioEqualizer;
[127]49class Playlist;
50#ifdef FIND_SUBTITLES
[90]51class FindSubtitlesWindow;
[127]52#endif
53
54#ifdef VIDEOPREVIEW
[90]55class VideoPreview;
[127]56#endif
[90]57
58class MyAction;
59class MyActionGroup;
60class PreferencesDialog;
[121]61class Favorites;
[90]62class TVList;
[140]63class UpdateChecker;
64
[154]65
[90]66class BaseGui : public QMainWindow
67{
68 Q_OBJECT
69
70public:
[127]71 BaseGui( QWidget* parent = 0, Qt::WindowFlags flags = 0 );
[90]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
[127]85#ifdef LOG_SMPLAYER
[90]86 //! Saves the line from the smplayer output
87 void recordSmplayerLog(QString line);
[127]88#endif
[90]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);
[121]95 virtual void openFavorite(QString file);
[90]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);
[163]103#ifdef BLURAY_SUPPORT
104 void openBluRay();
105 void openBluRayFromFolder();
106 void openBluRayFromFolder(QString directory);
107#endif
[90]108 virtual void openDirectory();
109 virtual void openDirectory(QString directory);
110
[140]111 virtual void helpFirstSteps();
[90]112 virtual void helpFAQ();
113 virtual void helpCLOptions();
[121]114 virtual void helpCheckUpdates();
[154]115#ifdef REMINDER_ACTIONS
116 virtual void helpDonate();
117#endif
[137]118 virtual void helpShowConfig();
[90]119 virtual void helpAbout();
120
[163]121#ifdef SHARE_MENU
[140]122 virtual void shareSMPlayer();
[163]123#endif
[140]124
[90]125 virtual void loadSub();
126 virtual void loadAudioFile(); // Load external audio file
127
128 void setInitialSubtitle(const QString & subtitle_file);
129
[127]130#ifdef FIND_SUBTITLES
[90]131 virtual void showFindSubtitlesDialog();
132 virtual void openUploadSubtitlesPage(); //turbos
[127]133#endif
[90]134
[127]135#ifdef VIDEOPREVIEW
[90]136 virtual void showVideoPreviewDialog();
[127]137#endif
138
[154]139#ifdef YOUTUBE_SUPPORT
[121]140 virtual void showTubeBrowser();
[154]141#endif
[90]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);
[127]149#ifdef LOG_MPLAYER
[90]150 virtual void showMplayerLog();
[127]151#endif
152#ifdef LOG_SMPLAYER
[90]153 virtual void showLog();
[127]154#endif
[90]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);
[154]197 virtual void displayMessage(QString message, int time);
[90]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();
[140]205 virtual void setDefaultValuesFromVideoEqualizer();
206 virtual void changeVideoEqualizerBySoftware(bool b);
[90]207
208 virtual void newMediaLoaded();
209 virtual void updateMediaInfo();
210
[163]211 void gotNoFileToPlay();
212
[90]213 void checkPendingActionsToRun();
214
215#if REPORT_OLD_MPLAYER
216 void checkMplayerVersion();
217 void displayWarningAboutOldMplayer();
218#endif
219
[140]220#ifdef UPDATE_CHECKER
221 void reportNewVersionAvailable(QString);
222#endif
223
[154]224#ifdef CHECK_UPGRADED
225 void checkIfUpgraded();
[140]226#endif
227
[154]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
[163]238 void gotForbidden();
[154]239
[90]240#if AUTODISABLE_ACTIONS
241 virtual void enableActionsOnPlaying();
242 virtual void disableActionsOnStop();
243 virtual void togglePlayAction(Core::State);
244#endif
245
[140]246 void changeSizeFactor(int factor);
247 void toggleDoubleSize();
248 void resizeMainWindow(int w, int h);
249 void resizeWindow(int w, int h);
[90]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
[163]284 virtual void moveWindowDiff(QPoint diff);
[90]285
286 // Single instance stuff
[127]287#ifdef SINGLE_INSTANCE
288 void handleMessageFromOtherInstances(const QString& message);
289#endif
[90]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
[118]304#if defined(Q_OS_WIN) || defined(Q_OS_OS2)
[168]305#ifdef AVOID_SCREENSAVER
[90]306 /* Disable screensaver by event */
307 void clear_just_stopped();
308#endif
[168]309#endif
[90]310
[127]311#ifdef LOG_MPLAYER
[90]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();
[127]320#endif
[90]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
[163]328 /*
[90]329 void wheelUp();
330 void wheelDown();
[163]331 */
[90]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
[154]341 //! Sent when another instance requested to play a file
342 void openFileRequested();
343
[127]344#ifdef GUI_CHANGE_ON_RUNTIME
345 void guiChanged(QString gui);
346#endif
347
[90]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
[163]354 #ifdef AVOID_SCREENSAVER
[90]355 /* Disable screensaver by event */
356 virtual bool winEvent ( MSG * m, long * result );
[163]357 #endif
[90]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:
[163]386 /* virtual void wheelEvent( QWheelEvent * e ) ; */
[90]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;
[163]399#ifdef BLURAY_SUPPORT
400 MyAction * openBluRayAct;
401 MyAction * openBluRayFolderAct;
402#endif
[90]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;
[127]443#ifdef VIDEOPREVIEW
[90]444 MyAction * videoPreviewAct;
[127]445#endif
[90]446 MyAction * flipAct;
447 MyAction * mirrorAct;
448 MyAction * postProcessingAct;
449 MyAction * phaseAct;
450 MyAction * deblockAct;
451 MyAction * deringAct;
[127]452 MyAction * gradfunAct;
[90]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;
[127]486#ifdef FIND_SUBTITLES
[90]487 MyAction * showFindSubtitlesDialogAct;
488 MyAction * openUploadSubtitlesPageAct;//turbos
[127]489#endif
[90]490
491 // Menu Options
492 MyAction * showPlaylistAct;
493 MyAction * showPropertiesAct;
494 MyAction * showPreferencesAct;
[154]495#ifdef YOUTUBE_SUPPORT
[121]496 MyAction * showTubeBrowserAct;
[154]497#endif
[127]498#ifdef LOG_MPLAYER
[90]499 MyAction * showLogMplayerAct;
[127]500#endif
501#ifdef LOG_SMPLAYER
[90]502 MyAction * showLogSmplayerAct;
[127]503#endif
[90]504
505 // Menu Help
[140]506 MyAction * showFirstStepsAct;
[90]507 MyAction * showFAQAct;
508 MyAction * showCLOptionsAct; // Command line options
[121]509 MyAction * showCheckUpdatesAct;
[154]510#if defined(YOUTUBE_SUPPORT) && defined(YT_USE_SCRIPT)
511 MyAction * updateYTAct;
512#endif
[137]513 MyAction * showConfigAct;
[154]514#ifdef REMINDER_ACTIONS
515 MyAction * donateAct;
516#endif
[90]517 MyAction * aboutThisAct;
518
[163]519#ifdef SHARE_MENU
[140]520 MyAction * facebookAct;
521 MyAction * twitterAct;
522 MyAction * gmailAct;
523 MyAction * hotmailAct;
524 MyAction * yahooAct;
[163]525#endif
[140]526
[90]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
[127]593 // Blur-sharpen group
594 MyActionGroup * unsharpGroup;
595 MyAction * unsharpNoneAct;
596 MyAction * blurAct;
597 MyAction * sharpenAct;
598
[90]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
[163]627 MyAction * aspect118Act; // 11:8
[90]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
[118]656 // Closed Captions Group
657 MyActionGroup * ccGroup;
658 MyAction * ccNoneAct;
659 MyAction * ccChannel1Act;
660 MyAction * ccChannel2Act;
661 MyAction * ccChannel3Act;
662 MyAction * ccChannel4Act;
663
[140]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;
[118]673
[90]674 // Audio Channels Action Group
675 MyActionGroup * channelsGroup;
676 /* MyAction * channelsDefaultAct; */
677 MyAction * channelsStereoAct;
678 MyAction * channelsSurroundAct;
679 MyAction * channelsFull51Act;
[137]680 MyAction * channelsFull61Act;
681 MyAction * channelsFull71Act;
[90]682
683 // Stereo Mode Action Group
684 MyActionGroup * stereoGroup;
685 MyAction * stereoAct;
686 MyAction * leftChannelAct;
687 MyAction * rightChannelAct;
[140]688 MyAction * monoAct;
689 MyAction * reverseAct;
[90]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
[121]723 QMenu * disc_menu;
[90]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;
[127]736 QMenu * denoise_menu;
737 QMenu * unsharp_menu;
[90]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;
[127]746#if defined(LOG_MPLAYER) || defined(LOG_SMPLAYER)
[90]747 QMenu * logs_menu;
[127]748#endif
[90]749 QMenu * zoom_menu;
750 QMenu * rotate_menu;
751 QMenu * ontop_menu;
752#if USE_ADAPTER
753 QMenu * screen_menu;
754#endif
[118]755 QMenu * closed_captions_menu;
[140]756 QMenu * subfps_menu;
[90]757
[163]758#ifdef SHARE_MENU
[140]759 QMenu * share_menu;
[163]760#endif
[140]761
[90]762 QMenu * popup;
763 QMenu * recentfiles_menu;
764
[127]765#ifdef LOG_MPLAYER
[90]766 LogWindow * mplayer_log_window;
[127]767#endif
768#ifdef LOG_SMPLAYER
[90]769 LogWindow * smplayer_log_window;
[127]770#endif
[90]771 LogWindow * clhelp_window;
772
773 PreferencesDialog *pref_dialog;
774 FilePropertiesDialog *file_dialog;
775 Playlist * playlist;
[163]776 VideoEqualizer * video_equalizer;
[90]777 AudioEqualizer * audio_equalizer;
[127]778#ifdef FIND_SUBTITLES
[90]779 FindSubtitlesWindow * find_subs_dialog;
[127]780#endif
781#ifdef VIDEOPREVIEW
[90]782 VideoPreview * video_preview;
[127]783#endif
[90]784
785 Core * core;
786 MplayerWindow *mplayerwindow;
787
[121]788 Favorites * favorites;
789
[90]790 TVList * tvlist;
791 TVList * radiolist;
792
[140]793#ifdef UPDATE_CHECKER
794 UpdateChecker * update_checker;
795#endif
796
[90]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
[118]814#if defined(Q_OS_WIN) || defined(Q_OS_OS2)
[168]815#ifdef AVOID_SCREENSAVER
[90]816 /* Disable screensaver by event */
817 bool just_stopped;
818#endif
[168]819#endif
[90]820
[127]821#ifdef LOG_MPLAYER
[90]822 QString mplayer_log;
[127]823#endif
824#ifdef LOG_SMPLAYER
[90]825 QString smplayer_log;
[127]826#endif
[90]827
828 bool ignore_show_hide_events;
829};
830
831#endif
832
Note: See TracBrowser for help on using the repository browser.