⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main_interface.hpp

📁 VLC Player Source Code
💻 HPP
字号:
/***************************************************************************** * main_interface.hpp : Main Interface **************************************************************************** * Copyright (C) 2006-2007 the VideoLAN team * $Id$ * * Authors: Clément Stenac <zorglub@videolan.org> *          Jean-Baptiste Kempf <jb@videolan.org> * * 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 _MAIN_INTERFACE_H_#define _MAIN_INTERFACE_H_#include "qt4.hpp"#include "util/qvlcframe.hpp"#include "components/preferences_widgets.hpp"#include <vlc_aout.h>#include <QSystemTrayIcon>class QSettings;class QCloseEvent;class QKeyEvent;class QLabel;class QEvent;class InputManager;class VideoWidget;class BackgroundWidget;class PlaylistWidget;class VisualSelector;class AdvControlsWidget;class ControlsWidget;class FullscreenControllerWidget;class SpeedControlWidget;class QMenu;class QSize;//class QDockWidet;enum {    CONTROLS_HIDDEN = 0x0,    CONTROLS_VISIBLE = 0x1,    CONTROLS_ADVANCED = 0x2};typedef enum pl_dock_e {    PL_UNDOCKED,    PL_BOTTOM,    PL_RIGHT,    PL_LEFT} pl_dock_e;class MainInterface : public QVLCMW{    Q_OBJECT;    friend class VolumeClickHandler;    friend class InteractionDialog;    friend class PlaylistWidget;public:    MainInterface( intf_thread_t *);    virtual ~MainInterface();    /* Video requests from core */    void *requestVideo( vout_thread_t *p_nvout, int *pi_x,                        int *pi_y, unsigned int *pi_width,                        unsigned int *pi_height );    void releaseVideo( void * );    int controlVideo( void *p_window, int i_query, va_list args );    /* Getters */    QSystemTrayIcon *getSysTray() { return sysTray; };    QMenu *getSysTrayMenu() { return systrayMenu; };    int getControlsVisibilityStatus();    /* Sizehint() */    QSize sizeHint() const;protected://    void resizeEvent( QResizeEvent * );    void dropEvent( QDropEvent *);    void dragEnterEvent( QDragEnterEvent * );    void dragMoveEvent( QDragMoveEvent * );    void dragLeaveEvent( QDragLeaveEvent * );    void closeEvent( QCloseEvent *);private:    QSettings           *settings;    QSystemTrayIcon     *sysTray;    QMenu               *systrayMenu;    QString              input_name;    QVBoxLayout         *mainLayout;    ControlsWidget      *controls;    FullscreenControllerWidget *fullscreenControls;    QMenu               *speedControlMenu;    SpeedControlWidget  *speedControl;    void handleMainUi( QSettings* );    void askForPrivacy();    int  privacyDialog( QList<ConfigControl *> *controls );    /* Systray */    void handleSystray();    void createSystray();    void createStatusBar();    void initSystray();    /* Video */    VideoWidget         *videoWidget;    BackgroundWidget    *bgWidget;    VisualSelector      *visualSelector;    PlaylistWidget      *playlistWidget;    bool                 videoIsActive; ///< Having a video now / THEMIM->hasV    bool                 videoEmbeddedFlag; ///< Want an external Video Window    bool                 playlistVisible; ///< Is the playlist visible ?    bool                 visualSelectorEnabled;    bool                 notificationEnabled; /// Systray Notifications    bool                 b_remainingTime; /* Show elapsed or remaining time */    bool                 bgWasVisible;    int                  i_visualmode; ///< Visual Mode    pl_dock_e            i_pl_dock;    bool                 isDocked() { return ( i_pl_dock != PL_UNDOCKED ); }    input_thread_t      *p_input;    ///< Main input associated to the playlist    /* Status Bar */    QLabel              *timeLabel;    QLabel              *speedLabel;    QLabel              *nameLabel;    virtual void customEvent( QEvent *);    virtual void keyPressEvent( QKeyEvent *);    virtual void wheelEvent( QWheelEvent * );public slots:    void undockPlaylist();    void dockPlaylist( pl_dock_e i_pos = PL_BOTTOM );    void toggleMinimalView();    void togglePlaylist();    void toggleUpdateSystrayMenu();    void toggleAdvanced();    void toggleFullScreen();    void toggleFSC();    /* Manage the Video Functions from the vout threads */    void releaseVideoSlot( void * );private slots:    void debug();    void updateOnTimer();    void doComponentsUpdate();    void setStatus( int );    void setRate( int );    void setName( QString );    void setVLCWindowsTitle( QString title = "" );    void setDisplayPosition( float, int, int );    void toggleTimeDisplay();#if 0    void visual();#endif    void handleSystrayClick( QSystemTrayIcon::ActivationReason );    void updateSystrayTooltipName( QString );    void updateSystrayTooltipStatus( int );    void showSpeedMenu( QPoint );signals:    void askReleaseVideo( void * );    void askVideoToResize( unsigned int, unsigned int );    void askVideoToToggle();    void askBgWidgetToToggle();    void askUpdate();};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -