You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdeadmin/kpackage/options.h

183 lines
3.8 KiB

/*
** 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 OPTIONS_H
#define OPTIONS_H
#include "../config.h"
// Standard Headers
#include <stdio.h>
// TQt Headers
#include <tqdir.h>
#include <tqwidget.h>
#include <tqfiledialog.h>
#include <tqgroupbox.h>
// KDE headers
#include <kapplication.h>
#include <kfiledialog.h>
#include <kpackage.h>
class KURLRequester;
class TQVBoxLayout;
class TQGroupBox;
class TQCheckBox;
class TQPushButton;
class KComboBox;
class TQButtonGroup;
class TQRadioButton;
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
class Options : public KDialogBase
{
Q_OBJECT
public:
Options ( TQWidget *parent = 0);
~Options();
void restore();
// show window, setting the buttons
void setValues();
// set the dialog to match options values
private:
bool verifyFL;
bool PkgRead;
bool fRemote;
int DCache, dc, PCache, pc, privCmd, prc;
TQString CacheDir;
TQVBoxLayout* vl;
TQVBoxLayout* vt;
TQGroupBox *framet;
TQGroupBox *packageBox[kpinterfaceN];
TQCheckBox *packageHandle[kpinterfaceN];
TQPushButton *locate[kpinterfaceN];
TQGroupBox *hh;
TQCheckBox *huse;
KComboBox *hosts;
TQVBoxLayout* vb;
TQButtonGroup *bg;
TQRadioButton *disp[4];
TQVBoxLayout* vc;
TQButtonGroup *bc;
TQRadioButton *dcache[3];
TQVBoxLayout* vp;
TQButtonGroup *bp;
TQRadioButton *pcache[3];
TQVBoxLayout* vs;
TQButtonGroup *bs;
TQRadioButton *privs[3];
KURLRequester *cachedir;
TQVBoxLayout* vr;
TQGroupBox *framer;
TQCheckBox *pkgRead;
TQVBoxLayout* vf;
TQGroupBox *framem;
TQCheckBox *valid;
public slots:
void scanLocates();
void apply_slot();
void cancel_slot();
void PDCache(int);
void PPCache(int);
void PPrivs(int);
private slots:
void insHosts();
void useRemote();
};
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
class Opts
{
public:
void readSettings(const TQString &initHost = "");
void writeSettings();
void readLaterSettings();
// options to be setup after package interfaces setup
TQStringList hostList;
// list of hosts to choose from
bool VerifyFL;
// config: verify the file list
bool PkgRead;
// read information about uninstalled packages from each RPM file itself
bool handlePackage[kpinterfaceN];
enum {INSTALLED, UPDATED, NEW, ALL};
enum {ALWAYS, SESSION, NEVER};
int DCache;
// how much to cache uninstall package directories
int PCache;
// how much to cache uninstall packages
int privCmd;
// which command to use to execute priveliged commands
enum {SUcmd=0, SUDOcmd=1, SSHcmd=2};
TQString CacheDir;
// cache directory
Opts(const TQString &initHost);
~Opts();
};
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
#endif