source: smplayer/trunk/src/smplayer.h@ 167

Last change on this file since 167 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: 2.3 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 _SMPLAYER_H_
20#define _SMPLAYER_H_
21
22#include <QObject>
23#include <QString>
24#include <QStringList>
25#include "basegui.h"
26
27class SMPlayer : public QObject
28{
29 Q_OBJECT
30
31public:
32 enum ExitCode { ErrorArgument = -3, NoAction = -2, NoRunningInstance = -1, NoError = 0, NoExit = 1 };
33
34 SMPlayer(const QString & config_path = QString::null, QObject * parent = 0);
35 ~SMPlayer();
36
37 //! Process arguments. If ExitCode != NoExit the application must be exited.
38 ExitCode processArgs(QStringList args);
39
40 BaseGui * gui();
41
42 void start();
43
44#ifdef GUI_CHANGE_ON_RUNTIME
45private slots:
46 void changeGUI(QString new_gui);
47#endif
48
49private:
50 BaseGui * createGUI(QString gui_name);
51 void deleteGUI();
52#ifndef PORTABLE_APP
53 void createConfigDirectory();
54#endif
55 void showInfo();
56 void deleteConfig();
57#ifdef Q_OS_WIN
58 void createFontFile();
59#endif
60
61 static BaseGui * main_window;
62
63 QStringList files_to_play;
64 QString subtitle_file;
65 QString actions_list; //!< Actions to be run on startup
66 QString gui_to_use;
67
68 // Change position and size
69 bool move_gui;
70 QPoint gui_position;
71
72 bool resize_gui;
73 QSize gui_size;
74
75 // Options to pass to gui
76 int close_at_end; // -1 = not set, 1 = true, 0 false
77 int start_in_fullscreen; // -1 = not set, 1 = true, 0 false
78
79#ifdef LOG_SMPLAYER
80 // Output log
81 static QFile output_log;
82 #if QT_VERSION >= 0x050000
83 static void myMessageOutput( QtMsgType type, const QMessageLogContext &, const QString & msg );
84 #else
85 static void myMessageOutput( QtMsgType type, const char *msg );
86 #endif
87 static bool allow_to_send_log_to_gui;
88#endif
89};
90
91#endif
Note: See TracBrowser for help on using the repository browser.