#ifndef _OPEN_DIALOG_H_
#define _OPEN_DIALOG_H_
-#include <vlc/vlc.h>
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <vlc_common.h>
#include "util/qvlcframe.hpp"
#include "dialogs_provider.hpp"
#include "ui/open.h"
#include "components/open_panels.hpp"
+enum {
+ OPEN_FILE_TAB,
+ OPEN_DISC_TAB,
+ OPEN_NETWORK_TAB,
+ OPEN_CAPTURE_TAB,
+ OPEN_TAB_MAX
+};
+
+enum {
+ OPEN_AND_PLAY,
+ OPEN_AND_ENQUEUE,
+ OPEN_AND_STREAM,
+ OPEN_AND_SAVE,
+ SELECT /* Special mode to select a MRL (for VLM or similar */
+};
+
+
class QString;
-class QToolButton;
class QTabWidget;
class OpenDialog : public QVLCDialog
Q_OBJECT;
public:
static OpenDialog * getInstance( QWidget *parent, intf_thread_t *p_intf,
- int _action_flag = 0 )
+ bool b_rawInstance = false, int _action_flag = 0, bool b_selectMode = false );
+
+ static void killInstance()
{
- if( !instance)
- instance = new OpenDialog( parent, p_intf, false, _action_flag );
- else
- {
- instance->i_action_flag = _action_flag;
- instance->setMenuAction();
- }
- return instance;
+ if( instance ) delete instance;
+ instance = NULL;
}
- OpenDialog( QWidget *parent, intf_thread_t *, bool modal,
- int _action_flag = 0 );
virtual ~OpenDialog();
- void showTab( int );
-
- QString mrl;
- QString mainMRL;
+ void showTab( int = OPEN_FILE_TAB );
+ QString getMRL(){ return mrl; }
public slots:
void selectSlots();
void stream( bool b_transode_only = false );
void enqueue();
void transcode();
+
private:
+ OpenDialog( QWidget *parent, intf_thread_t *, bool b_selectMode,
+ int _action_flag = 0 );
+
static OpenDialog *instance;
input_thread_t *p_input;
+ QString mrl;
+ QString mainMRL;
+ QString storedMethod;
+
Ui::Open ui;
FileOpenPanel *fileOpenPanel;
NetOpenPanel *netOpenPanel;
DiscOpenPanel *discOpenPanel;
CaptureOpenPanel *captureOpenPanel;
- QString storedMethod;
- QString mrlSub;
- int advHeight, mainHeight;
int i_action_flag;
QStringList SeparateEntries( QString );
- QPushButton *cancelButton;
- QToolButton *playButton;
+ QPushButton *cancelButton, *selectButton;
+ QPushButton *playButton;
+
void finish( bool );
private slots:
void updateMRL();
void newCachingMethod( QString );
void signalCurrent();
+ void browseInputSlave();
};
#endif