summaryrefslogtreecommitdiffstats
path: root/kpackage/updateLoc.h
diff options
context:
space:
mode:
Diffstat (limited to 'kpackage/updateLoc.h')
-rw-r--r--kpackage/updateLoc.h326
1 files changed, 326 insertions, 0 deletions
diff --git a/kpackage/updateLoc.h b/kpackage/updateLoc.h
new file mode 100644
index 0000000..269bf74
--- /dev/null
+++ b/kpackage/updateLoc.h
@@ -0,0 +1,326 @@
+/*
+** Copyright (C) 1999,2000 Toivo Pedaste <toivo@ucs.uwa.edu.au>
+**
+*/
+
+/*
+** 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.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program in a file called COPYING; if not, write to
+** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+** MA 02110-1301, USA.
+*/
+
+/*
+** Bug reports and questions can be sent to kde-devel@kde.org
+*/
+
+
+
+#ifndef DEBLOCATE_H
+#define DEBLOCATE_H
+
+#include "../config.h"
+
+// Standard Headers
+#include <stdio.h>
+
+// Qt Headers
+#include <qdir.h>
+#include <qwidget.h>
+#include <qframe.h>
+#include <qlabel.h>
+#include <qfiledialog.h>
+#include <qgroupbox.h>
+#include <qcheckbox.h>
+#include <qlayout.h>
+#include <qlineedit.h>
+
+// KDE headers
+#include <kbuttonbox.h>
+#include <kdialogbase.h>
+
+class pkgInterface;
+class updateLoc;
+class cacheObj;
+class LcacheObj;
+class KComboBox;
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+class dpanel : public QWidget
+{
+ Q_OBJECT
+
+public:
+ dpanel(QWidget *parent, const char * name = 0);
+ dpanel(dpanel *basep, const QString &Pfilter, bool bsubdirs,
+ QWidget *parent, const char * name = 0);
+ ~dpanel();
+
+
+ QString getText() const;
+ void setText(const QString &s);
+ bool getUse() const;
+ void setUse(int n);
+ bool getSubdirs() const;
+ void setSubdirs(int n);
+
+private:
+
+ QCheckBox *psubdirs;
+ QCheckBox *puse;
+ QHBoxLayout* pack;
+ QLineEdit *pent;
+ QPushButton *pbut;
+
+ dpanel *base;
+ QString filter;
+
+ public slots:
+ void fileOpen();
+ void dirOpen();
+
+};
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+class apanel : public QWidget
+{
+ Q_OBJECT
+
+public:
+ apanel( QWidget *parent, const char * name = 0 );
+ ~apanel();
+
+
+ QString getText() const;
+ void setText(const QString &s);
+ bool getUse();
+ void setUse(int n);
+ void clear();
+
+private:
+
+ QCheckBox *puse;
+ QHBoxLayout* pack;
+ QLineEdit *pent;
+
+
+
+ public slots:
+
+};
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+class updateLoc : public QWidget
+{
+ Q_OBJECT
+
+public:
+
+ updateLoc (QWidget *p, int panelNumber, pkgInterface *inter, const QString &iname);
+ ~updateLoc();
+
+ virtual void readSettings() = 0;
+ virtual void writeSettings() = 0;
+
+ virtual void applyS(LcacheObj *slist) = 0;
+
+ void doBase(const QString &bmsg);
+
+ QString interName;
+ int panNumber;
+
+ bool haveBase;
+
+ pkgInterface *interface;
+
+ QVBoxLayout *vf;
+ dpanel *base;
+
+ QGroupBox *fbase;
+ QVBoxLayout* vbase;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+class aUpdateLoc : public updateLoc
+{
+ Q_OBJECT
+
+public:
+
+ aUpdateLoc (QWidget *p, int panelNumber, pkgInterface *inter, const QString &iname,
+ int numberLines, const QString &label);
+ ~aUpdateLoc();
+
+
+ void readSettings();
+ void writeSettings();
+
+ void applyS(LcacheObj *slist);
+
+private:
+
+ QString packL, packU, packS, availB;
+
+ int wdth;
+
+ QPushButton *butloc;
+
+ QHBoxLayout* hloc;
+
+ int numLines;
+ enum { PNUM = 100 };
+ apanel *ap[PNUM];
+
+ QVBoxLayout* vl;
+ QVBoxLayout* vtop;
+ QGroupBox *frame1;
+ KButtonBox* hb;
+
+};
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+class pdUpdateLoc : public updateLoc
+{
+ Q_OBJECT
+
+public:
+
+ pdUpdateLoc (QWidget *p, int panelNumber, pkgInterface *inter,
+ const QString &iname, int numberLines, const QString &filter,
+ const QString &lmsg, QString bmsg = 0,
+ bool subdirs = FALSE);
+ ~pdUpdateLoc();
+
+
+ void readSettings();
+ void writeSettings();
+
+ void applyS(LcacheObj *slist);
+
+private:
+
+ QString packL, packU, packS, availB;
+
+ int wdth;
+
+ QPushButton *butloc;
+
+ QHBoxLayout* hloc;
+
+ int numLines;
+ enum { PNUM = 40 };
+ dpanel *dp[PNUM];
+
+ QVBoxLayout* vl;
+ QVBoxLayout* vtop;
+ QGroupBox *frame1;
+ KButtonBox* hb;
+
+};
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+class cUpdateLoc : public updateLoc
+{
+ Q_OBJECT
+
+public:
+
+ cUpdateLoc (QWidget *p, int panelNumber, pkgInterface *inter,
+ const QString &iname, int numberLines, const QString &baseMsg,
+ const QString &boxLabels, const QString &boxValues);
+ ~cUpdateLoc();
+
+
+ void readSettings();
+ void writeSettings();
+
+ void applyS(LcacheObj *slist);
+
+private:
+
+ QString packC, availB;
+
+ QPushButton *butloc;
+
+ QHBoxLayout* hloc;
+
+ int numLines;
+ enum { PNUM = 40 };
+ KComboBox *combo[PNUM];
+
+ QVBoxLayout* vl;
+ QVBoxLayout* vtop;
+ QGroupBox *frame1;
+ KButtonBox* hb;
+
+
+
+};
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
+class Locations : public KDialogBase
+{
+ Q_OBJECT
+
+public:
+ Locations( const QString &msg);
+ ~Locations();
+
+ void dLocations(int numberDirs, int numberLines,
+ pkgInterface *inter, const QString &iname,
+ const QString &label, const QString &filter, const QString &dirMsg,
+ bool subdirs=TRUE );
+
+ void pLocations(int numberDirs, int numberLines,
+ pkgInterface *inter, const QString &iname,
+ const QString &label, const QString &filter,
+ const QString &packMsg, QString baseMsg = 0,
+ bool subdirs=FALSE);
+
+ void cLocations(int numberDirs, int numberLines,
+ pkgInterface *inter, const QString &iname, const QString &label,
+ const QString &boxLabels, const QString &baseMsg, const QString &boxValues);
+
+ void aLocations(int numberDirs, int numberLines,
+ pkgInterface *inter, const QString &iname, const QString &label);
+
+
+
+ // bmsg indicates the panel has a base entry
+ void restore();
+
+ int numPanels;
+ enum { PANNUM = 10 };
+ updateLoc *pn[PANNUM];
+
+public slots:
+ void apply_slot();
+ void write_slot();
+
+signals:
+ void returnVal(LcacheObj *);
+
+};
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
+#endif