//
// QPerforce is a gui interface to the perforce revision control
// system. It is based on the qt library, and should be easily portable
// across any platform that has this toolkit available.
//
// Copyright (C) 2002 Jacob Gladish
//
#ifndef __CLIENT_SPEC_MENU_H__
#define __CLIENT_SPEC_MENU_H__
#include "Client.h"
#include "WidgetId.h"
#include <qlistview.h>
#include <qpopupmenu.h>
class ClientTable;
class ClientSpecMenu : public QPopupMenu
{
Q_OBJECT
public:
ClientSpecMenu( QWidget* parent = 0, const char* name = 0 );
virtual ~ClientSpecMenu();
void setClientListView( ClientTable* t );
typedef void (ClientSpecMenu::*ClientSpecMenuFuncPtr) ();
signals:
void showClientTable( WidgetId );
public slots:
void slotCreateOrUpdateClientFromTemplate();
void slotViewClientSpecs();
void slotViewChangesBy();
void slotSetDefaultClient();
void slotSwitchToClient();
void slotDelete();
void slotDescribe();
void slotEdit();
void slotNew();
private:
ClientTable* _clientTable;
void _viewClientSpecs();
};
class ClientTable : public QListView {
public:
ClientTable( QWidget* parent, const char* name = 0 );
void addClient( const Perforce::Client* c );
};
#endif