summaryrefslogtreecommitdiffstats
path: root/krec/krecglobal.h
blob: 6955eb1481d93f48a4f0a881d63ddbbca4df5a67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
/***************************************************************************
    copyright            : (C) 2003 by Arnold Krille
    email                : arnold@arnoldarts.de
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   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; version 2 of the License.               *
 *                                                                         *
 ***************************************************************************/

#ifndef KREC_GLOBAL_H
#define KREC_GLOBAL_H

#include <qobject.h>
#include <qstring.h>
#include <qstringlist.h>
#include <qdict.h>

class KConfig;
class QWidget;
class KStatusBar;

class KRecExportItem;

class KRecGlobal : public QObject {
   Q_OBJECT
private:
	KRecGlobal( QObject* =0, const char* =0 );
	~KRecGlobal();

public:

	/**
	 * @return Returns a pointer to the global KRecGlobal.
	 */
	static KRecGlobal* the();

	/**
	 * Sets the MainWidget.
	 */
	void setMainWidget( QWidget* );
	/**
	 * Returns a pointer to the mainwidget.
	 * Usefull to display Messageboxes, etc correctly without beeing a
	 * QWidget or knowing about a parent QWidget.
	 */
	QWidget* mainWidget();

	/// @return kapp->config()
	static KConfig* kconfig();

	/// Sets the Statusbar.
	void setStatusBar( KStatusBar* );
	/**
	 * Puts a message into the statusbar.
	 * Usefull for showing messages without knowing about the Statusbar.
	 */
	void message( const QString & );

	/// Registers a KRecExportItem
	static bool registerExport( KRecExportItem* );
	/**
	 * Returns a new KRecExportItem for the specified exportFormat.
	 * If now Item can be found the return value is 0.
	 */
	KRecExportItem* getExportItem( const QString &exportFormat );
	///
	KRecExportItem* getExportItemForEnding( const QString & );
	/// Returns a list of exportFormats.
	QStringList exportFormats() const;
	/// Returns a list of fileendings.
	QString exportFormatEndings() const;

	/**
	 * Gets/Sets the actual mode for formating time values.
	 *
	 * For description see krecfileview.h
	*/
	int timeFormatMode();
	void setTimeFormatMode( int );
	/// The framebase (how many frames per second) (25/30 for movies, 75 for CDs)
	int frameBase();
	void setFrameBase( int );
private:
	QWidget *_qwidget;
	KStatusBar *_statusbar;
	QDict <KRecExportItem> *_exports;
	QStringList _exportformats;
	int _timeformatcache, _framebasecache;
};

#endif

// vim:sw=4:ts=4