summaryrefslogtreecommitdiffstats
path: root/noatun-plugins/dub/dub/fileselectorwidget.h
blob: 724173ab25adfb67e4ec8527d7308ef57229013e (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
/*-*-c++-*-*****************************************************************
 *   Copyright (C) 2001 by Bernd Gehrmann bernd@kdevelop.org               *
 *   Copyright (C) 2002 by Eray Ozkural erayo@cs.bilkent.edu.tr            *
 *                                                                         *
 *   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.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef _FILESELECTORWIDGET_H_
#define _FILESELECTORWIDGET_H_

#include <qlayout.h>
#include <qpushbutton.h>
#include <qhbox.h>
#include <qlabel.h>
#include <qstrlist.h>
#include <qtooltip.h>

#include <klistview.h>
#include <qvbox.h>
#include <qwidget.h>
#include <kfile.h>
#include <kurlcombobox.h>
#include <kurlcompletion.h>
#include <kcombobox.h>
#include <kprotocolinfo.h>
#include <kdiroperator.h>

class DubPlayListItem;

class FileSelectorWidget : public QWidget
{
  Q_OBJECT

  friend class DubPlayListItem;

public:
  FileSelectorWidget(QWidget *parent);
  ~FileSelectorWidget();

  KDirOperator* dirOperator() {return dir;}
  KDirLister* dirLister() { return dir->dirLister(); }
  KURL currentDirectory();

public slots:
  void slotFilterChange(const QString&);
  void setDir(KURL);

private slots:
  void cmbPathActivated( const KURL& u );
  void cmbPathReturnPressed( const QString& u );
  void dirUrlEntered( const KURL& u );
  void dirFinishedLoading();
  void fileHighlighted(const KFileItem *);
  void fileSelected(const KFileItem *);
//	void setCurrentDocDir();

protected:
  void focusInEvent(QFocusEvent*);

private:

  KURLComboBox *cmbPath;
  KHistoryCombo * filter;
  QLabel* filterIcon;
  KDirOperator * dir;
  QPushButton *home, *up, *back, *forward, *cfdir;

};

#endif