2009-12-28 17:40:45 -05:00
|
|
|
#ifndef RSIFACE_NOTIFY_TXT_H
|
|
|
|
#define RSIFACE_NOTIFY_TXT_H
|
|
|
|
|
|
|
|
#include "rsiface/rsiface.h"
|
|
|
|
#include "rsiface/rsturtle.h"
|
|
|
|
#include <QObject>
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
class NetworkDialog;
|
|
|
|
class PeersDialog;
|
|
|
|
class SharedFilesDialog;
|
|
|
|
class TransfersDialog;
|
|
|
|
class ChatDialog;
|
|
|
|
class MessagesDialog;
|
|
|
|
class ChannelsDialog;
|
|
|
|
class MessengerWindow;
|
|
|
|
struct TurtleFileInfo ;
|
|
|
|
|
|
|
|
//class NotifyQt: public NotifyBase, public QObject
|
|
|
|
class NotifyQt: public QObject, public NotifyBase
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
2010-07-18 07:43:39 -04:00
|
|
|
static NotifyQt *Create ();
|
|
|
|
static NotifyQt *getInstance ();
|
2009-12-28 17:40:45 -05:00
|
|
|
|
|
|
|
virtual ~NotifyQt() { return; }
|
|
|
|
|
|
|
|
void setNetworkDialog(NetworkDialog *c) { cDialog = c; }
|
|
|
|
|
|
|
|
virtual void notifyListPreChange(int list, int type);
|
|
|
|
virtual void notifyListChange(int list, int type);
|
|
|
|
virtual void notifyErrorMsg(int list, int sev, std::string msg);
|
|
|
|
virtual void notifyChatStatus(const std::string& peer_id,const std::string& status_string,bool is_private);
|
|
|
|
virtual void notifyCustomState(const std::string& peer_id);
|
|
|
|
virtual void notifyHashingInfo(std::string fileinfo);
|
|
|
|
virtual void notifyTurtleSearchResult(uint32_t search_id,const std::list<TurtleFileInfo>& found_files);
|
|
|
|
virtual void notifyPeerHasNewAvatar(std::string peer_id) ;
|
|
|
|
virtual void notifyOwnAvatarChanged() ;
|
|
|
|
virtual void notifyOwnStatusMessageChanged() ;
|
2010-05-21 16:49:48 -04:00
|
|
|
virtual void notifyDiskFull(uint32_t loc,uint32_t size_in_mb) ;
|
|
|
|
|
2010-02-07 13:10:12 -05:00
|
|
|
|
2010-04-19 17:50:03 -04:00
|
|
|
virtual std::string askForPassword(const std::string& key_details,bool prev_is_bad) ;
|
2009-12-28 17:40:45 -05:00
|
|
|
|
|
|
|
signals:
|
|
|
|
// It's beneficial to send info to the GUI using signals, because signals are thread-safe
|
|
|
|
// as they get queued by Qt.
|
|
|
|
//
|
|
|
|
void hashingInfoChanged(const QString&) const ;
|
|
|
|
void filesPreModChanged(bool) const ;
|
|
|
|
void filesPostModChanged(bool) const ;
|
|
|
|
void transfersChanged() const ;
|
|
|
|
void friendsChanged() const ;
|
|
|
|
void neighborsChanged() const ;
|
|
|
|
void messagesChanged() const ;
|
|
|
|
void configChanged() const ;
|
|
|
|
void logInfoChanged(const QString&) const ;
|
|
|
|
void chatStatusChanged(const QString&,const QString&,bool) const ;
|
|
|
|
void peerHasNewCustomStateString(const QString&) const ;
|
|
|
|
void gotTurtleSearchResult(qulonglong search_id,FileDetail file) const ;
|
|
|
|
void peerHasNewAvatar(const QString& peer_id) const ;
|
|
|
|
void ownAvatarChanged() const ;
|
|
|
|
void ownStatusMessageChanged() const ;
|
2010-02-07 13:10:12 -05:00
|
|
|
void errorOccurred(int,int,const QString&) const ;
|
2010-05-21 16:49:48 -04:00
|
|
|
void diskFull(int,int) const ;
|
2009-12-28 17:40:45 -05:00
|
|
|
|
|
|
|
public slots:
|
|
|
|
|
|
|
|
void UpdateGUI(); /* called by timer */
|
|
|
|
|
|
|
|
private:
|
2010-07-18 07:43:39 -04:00
|
|
|
NotifyQt() : cDialog(NULL) { return; }
|
|
|
|
|
|
|
|
static NotifyQt *_instance;
|
2009-12-28 17:40:45 -05:00
|
|
|
|
|
|
|
// void displayNeighbours();
|
|
|
|
// void displayFriends();
|
|
|
|
// void displayDirectories();
|
|
|
|
// void displaySearch();
|
|
|
|
// void displayChat();
|
|
|
|
// void displayMessages();
|
|
|
|
// void displayChannels();
|
|
|
|
// void displayTransfers();
|
|
|
|
|
|
|
|
// void preDisplayNeighbours();
|
|
|
|
// void preDisplayFriends();
|
|
|
|
// void preDisplayDirectories();
|
|
|
|
// void preDisplaySearch();
|
|
|
|
// void preDisplayMessages();
|
|
|
|
// void preDisplayChannels();
|
|
|
|
// void preDisplayTransfers();
|
|
|
|
|
|
|
|
/* so we can update windows */
|
|
|
|
NetworkDialog *cDialog;
|
|
|
|
// PeersDialog *pDialog;
|
|
|
|
// SharedFilesDialog *dDialog;
|
|
|
|
// TransfersDialog *tDialog;
|
|
|
|
// ChatDialog *hDialog;
|
|
|
|
// MessagesDialog *mDialog;
|
|
|
|
// ChannelsDialog *sDialog;
|
|
|
|
// MessengerWindow *mWindow;
|
|
|
|
|
|
|
|
// RsIface *iface;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|