00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
#ifndef KCLIPBOARD_H
00020
#define KCLIPBOARD_H
00021
00022
#include <qclipboard.h>
00023
#include <qmime.h>
00024
#include <qobject.h>
00025
#include <qstrlist.h>
00026
#include "kdelibs_export.h"
00027
00035 class KDECORE_EXPORT KClipboardSynchronizer :
public QObject
00036 {
00037 Q_OBJECT
00038
00039
public:
00040
friend class KlipperWidget;
00041
friend class KApplication;
00042
00047
static KClipboardSynchronizer *
self();
00048
00056
static void setSynchronizing(
bool sync );
00057
00064 static bool isSynchronizing()
00065 {
00066
return s_sync;
00067 }
00068
00078
static void setReverseSynchronizing(
bool enable );
00079
00087 static bool isReverseSynchronizing()
00088 {
00089
return s_reverse_sync;
00090 }
00091
00092
00093
protected:
00094 ~KClipboardSynchronizer();
00095
00096
private slots:
00097
void slotSelectionChanged();
00098
void slotClipboardChanged();
00099
00100
private:
00101 KClipboardSynchronizer(
QObject *parent = 0,
const char *name = 0L );
00102
void setupSignals();
00103
00104
static void setClipboard(
QMimeSource* data, QClipboard::Mode mode );
00105
00106
static KClipboardSynchronizer *s_self;
00107
static bool s_sync;
00108
static bool s_reverse_sync;
00109
static bool s_blocked;
00110
00111
class MimeSource;
00112
00113
private:
00114
00115
enum Configuration { Synchronize = 1 };
00116
00117
static void newConfiguration(
int config );
00118
00119 };
00120
00121
#endif // KCLIPBOARD_H