summaryrefslogtreecommitdiffstats
path: root/kbugbuster/gui/packageselectdialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'kbugbuster/gui/packageselectdialog.h')
-rw-r--r--kbugbuster/gui/packageselectdialog.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/kbugbuster/gui/packageselectdialog.h b/kbugbuster/gui/packageselectdialog.h
new file mode 100644
index 00000000..1fe596aa
--- /dev/null
+++ b/kbugbuster/gui/packageselectdialog.h
@@ -0,0 +1,64 @@
+#ifndef PACKAGESELECTDIALOG_H
+#define PACKAGESELECTDIALOG_H
+
+#include <qdict.h>
+
+#include <kdialogbase.h>
+
+#include "package.h"
+
+class KCompletion;
+class KLineEdit;
+
+class PackageListView : public QListView
+{
+ Q_OBJECT
+ public:
+ PackageListView( QWidget *parent );
+
+ void resetTyped();
+
+ signals:
+ void typed( const QString & );
+
+ protected:
+ void keyPressEvent( QKeyEvent *e );
+
+ private:
+ QString mTyped;
+};
+
+class PackageSelectDialog : public KDialogBase
+{
+ Q_OBJECT
+ public:
+ PackageSelectDialog(QWidget *parent=0,const char *name=0);
+ ~PackageSelectDialog();
+
+ void setRecentPackages( const QStringList & );
+ void setPackages( const Package::List &pkgs );
+
+ Package selectedPackage();
+ QString selectedComponent();
+
+ protected slots:
+ void slotOk();
+
+ private slots:
+ void recentSelected( int, QListViewItem * );
+ void completeSelected( int, QListViewItem * );
+ void completeTyped( const QString & );
+
+ private:
+ Package::List mPackages;
+ Package mSelectedPackage;
+ QString mSelectedComponent;
+
+ QListView *mRecentList;
+ PackageListView *mCompleteList;
+ KLineEdit *mPackageEdit;
+ KCompletion *mCompletion;
+ QDict<QListViewItem> mCompletionDict;
+};
+
+#endif