comparison kdiff3/src-QT4/kreplacements/kreplacements.h @ 75:08ea9b86c12c

KDiff3-0.9.91
author joachim99
date Sat, 04 Nov 2006 00:05:00 +0000
parents kdiff3/src/kreplacements/kreplacements.h@f7dad0aa6146
children fcd146072e0c
comparison
equal deleted inserted replaced
74:069521efec1a 75:08ea9b86c12c
1 /***************************************************************************
2 kreplacements.h - description
3 -------------------
4 begin : Sat Aug 3 2002
5 copyright : (C) 2002-2006 by Joachim Eibl
6 email : joachim.eibl at gmx.de
7 ***************************************************************************/
8
9 /***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18 #ifndef KREPLACEMENTS_H
19 #define KREPLACEMENTS_H
20
21 #include "common.h"
22
23 #include <QMainWindow>
24 #include <QAction>
25 #include <QDialog>
26 #include <QApplication>
27 #include <QPushButton>
28 #include <QToolBar>
29 #include <QProgressBar>
30 #include <QPrinter>
31
32 class Q3CString;
33 class QTabWidget;
34 class QLabel;
35
36 #include <map>
37 #include <list>
38
39 QString getTranslationDir();
40
41 class KMainWindow;
42
43 class KURL
44 {
45 public:
46 KURL(){}
47 KURL(const QString& s){ m_s = s; }
48 static KURL fromPathOrURL( const QString& s ){ return KURL(s); }
49 QString url() const { return m_s; }
50 bool isEmpty() const { return m_s.isEmpty(); }
51 QString prettyURL() const { return m_s; }
52 bool isLocalFile() const { return true; }
53 bool isValid() const { return true; }
54 QString path() const { return m_s; }
55 void setPath( const QString& s ){ m_s=s; }
56 QString fileName() const { return m_s; } // not really needed
57 void addPath( const QString& s ){ m_s += "/" + s; }
58 private:
59 QString m_s;
60 };
61
62 class KMessageBox
63 {
64 public:
65 static void error( QWidget* parent, const QString& text, const QString& caption=QString() );
66 static int warningContinueCancel( QWidget* parent, const QString& text, const QString& caption=QString(),
67 const QString& button1=QString("Continue") );
68 static void sorry( QWidget* parent, const QString& text, const QString& caption=QString() );
69 static void information( QWidget* parent, const QString& text, const QString& caption=QString() );
70 static int warningYesNo( QWidget* parent, const QString& text, const QString& caption,
71 const QString& button1, const QString& button2 );
72 static int warningYesNoCancel(
73 QWidget* parent, const QString& text, const QString& caption,
74 const QString& button1, const QString& button2 );
75
76 enum {Cancel=-1, No=0, Yes=1, Continue=1};
77 };
78
79 #define i18n(x) QObject::tr(x)
80 #define I18N_NOOP(x) x
81 #define RESTORE(x)
82 #define _UNLOAD(x)
83
84 typedef QMenu KPopupMenu;
85
86 class KDialogBase : public QDialog
87 {
88 Q_OBJECT
89 QTabWidget* m_pTabWidget;
90 public:
91 KDialogBase( int, const QString& caption, int, int, QWidget* parent, const char* name,
92 bool /*modal*/, bool );
93 ~KDialogBase();
94
95 void incInitialSize ( const QSize& );
96 void setHelp(const QString& helpfilename, const QString& );
97 enum {IconList, Help, Default, Apply, Ok, Cancel };
98
99 int BarIcon(const QString& iconName, int );
100
101 QFrame* addPage( const QString& name, const QString& info, int );
102 int spacingHint();
103
104 virtual void accept();
105 signals:
106 void applyClicked();
107
108 protected slots:
109 virtual void slotOk( void );
110 virtual void slotApply( void );
111 virtual void slotHelp( void );
112 virtual void slotCancel( void );
113 virtual void slotDefault( void );
114 };
115
116 class KFileDialog //: public QFileDialog
117 {
118 public:
119 static KURL getSaveURL( const QString &startDir=QString::null,
120 const QString &filter=QString::null,
121 QWidget *parent=0, const QString &caption=QString::null);
122 static KURL getOpenURL( const QString & startDir = QString::null,
123 const QString & filter = QString::null,
124 QWidget * parent = 0,
125 const QString & caption = QString::null );
126 static KURL getExistingURL( const QString & startDir = QString::null,
127 QWidget * parent = 0,
128 const QString & caption = QString::null );
129 static QString getSaveFileName (const QString &startDir=QString::null,
130 const QString &filter=QString::null,
131 QWidget *parent=0,
132 const QString &caption=QString::null);
133 };
134
135 typedef QStatusBar KStatusBar;
136
137 class KToolBar : public QToolBar
138 {
139 public:
140 KToolBar(QMainWindow* parent);
141
142 enum BarPosition {Top, Bottom, Left, Right};
143 BarPosition barPos();
144 void setBarPos(BarPosition);
145 private:
146 QMainWindow* m_pMainWindow;
147 };
148
149 class KActionCollection
150 {
151 public:
152 KMainWindow* m_pMainWindow;
153 KActionCollection( KMainWindow* p){ m_pMainWindow=p; }
154 };
155
156 class KKeyDialog
157 {
158 public:
159 static void configure(void*, QWidget*){}
160 static void configureKeys(KActionCollection*, const QString&){}
161 static void configure(KActionCollection*, const QString&){}
162 };
163
164 namespace KParts
165 {
166 class ReadWritePart;
167 }
168
169 class KMainWindow : public QMainWindow
170 {
171 Q_OBJECT
172 private:
173 KActionCollection m_actionCollection;
174 protected:
175 virtual bool queryClose() = 0;
176 virtual bool queryExit() = 0;
177 public:
178 QMenu* fileMenu;
179 QMenu* editMenu;
180 QMenu* directoryMenu;
181 QMenu* dirCurrentItemMenu;
182 QMenu* dirCurrentSyncItemMenu;
183 QMenu* movementMenu;
184 QMenu* mergeMenu;
185 QMenu* diffMenu;
186 QMenu* windowsMenu;
187 QMenu* settingsMenu;
188 QMenu* helpMenu;
189
190 KToolBar* m_pToolBar;
191
192 KMainWindow( QWidget* parent, const char* name );
193 KToolBar* toolBar(const QString& s = QString::null);
194 KActionCollection* actionCollection();
195 void createGUI();
196 void createGUI(KParts::ReadWritePart*){createGUI();}
197
198 QList<KMainWindow*>* memberList;
199 public slots:
200 void slotHelp();
201 void slotAbout();
202 };
203
204 class KConfig : public ValueMap
205 {
206 QString m_fileName;
207 public:
208 KConfig();
209 ~KConfig();
210 void readConfigFile(const QString& configFileName);
211
212 void setGroup(const QString&);
213 };
214
215 class KAction : public QAction
216 {
217 Q_OBJECT
218 public:
219 KAction(const QString& text, const QIcon& icon, int accel, QObject* receiver, const char* slot, KActionCollection* actionCollection, const char* name, bool bToggle=false, bool bMenu=true);
220 KAction(const QString& text, int accel, QObject* receiver, const char* slot, KActionCollection* actionCollection, const char* name, bool bToggle=false, bool bMenu=true);
221 void init(QObject* receiver, const char* slot, KActionCollection* actionCollection,
222 const char* name, bool bToggle, bool bMenu);
223 void setStatusText(const QString&);
224 void plug(QMenu*);
225 };
226
227 class KToggleAction : public KAction
228 {
229 public:
230 KToggleAction(const QString& text, const QIcon& icon, int accel, QObject* receiver, const char* slot, KActionCollection* actionCollection, const char* name, bool bMenu=true);
231 KToggleAction(const QString& text, int accel, QObject* receiver, const char* slot, KActionCollection* actionCollection, const char* name, bool bMenu=true);
232 KToggleAction(const QString& text, const QIcon& icon, int accel, KActionCollection* actionCollection, const char* name, bool bMenu=true);
233 void setChecked(bool);
234 };
235
236
237 class KStdAction
238 {
239 public:
240 static KAction* open( QWidget* parent, const char* slot, KActionCollection* );
241 static KAction* save( QWidget* parent, const char* slot, KActionCollection* );
242 static KAction* saveAs( QWidget* parent, const char* slot, KActionCollection* );
243 static KAction* print( QWidget* parent, const char* slot, KActionCollection* );
244 static KAction* quit( QWidget* parent, const char* slot, KActionCollection* );
245 static KAction* cut( QWidget* parent, const char* slot, KActionCollection* );
246 static KAction* copy( QWidget* parent, const char* slot, KActionCollection* );
247 static KAction* paste( QWidget* parent, const char* slot, KActionCollection* );
248 static KAction* selectAll( QWidget* parent, const char* slot, KActionCollection* );
249 static KToggleAction* showToolbar( QWidget* parent, const char* slot, KActionCollection* );
250 static KToggleAction* showStatusbar( QWidget* parent, const char* slot, KActionCollection* );
251 static KAction* preferences( QWidget* parent, const char* slot, KActionCollection* );
252 static KAction* about( QWidget* parent, const char* slot, KActionCollection* );
253 static KAction* aboutQt( KActionCollection* );
254 static KAction* help( QWidget* parent, const char* slot, KActionCollection* );
255 static KAction* find( QWidget* parent, const char* slot, KActionCollection* );
256 static KAction* findNext( QWidget* parent, const char* slot, KActionCollection* );
257 static KAction* keyBindings( QWidget* parent, const char* slot, KActionCollection* );
258 };
259
260 class KIcon
261 {
262 public:
263 enum {SizeMedium,Small};
264 };
265
266 class KFontChooser : public QWidget
267 {
268 Q_OBJECT
269 QFont m_font;
270 QPushButton* m_pSelectFont;
271 QLabel* m_pLabel;
272 QWidget* m_pParent;
273 public:
274 KFontChooser( QWidget* pParent, const QString& name, bool, const QStringList&, bool, int );
275 QFont font();
276 void setFont( const QFont&, bool );
277 private slots:
278 void slotSelectFont();
279 };
280
281 class KColorButton : public QPushButton
282 {
283 Q_OBJECT
284 QColor m_color;
285 public:
286 KColorButton(QWidget* parent);
287 QColor color();
288 void setColor(const QColor&);
289 virtual void paintEvent(QPaintEvent* e);
290 public slots:
291 void slotClicked();
292 };
293
294 class KPrinter : public QPrinter
295 {
296 public:
297 KPrinter();
298 enum e_PageSelection {ApplicationSide};
299 QList<int> pageList();
300 void setCurrentPage(int);
301 void setPageSelection(e_PageSelection);
302 };
303
304 class KStandardDirs
305 {
306 public:
307 QString findResource(const QString& resource, const QString& appName);
308 };
309
310 struct KCmdLineOptions
311 {
312 const char* name;
313 const char* description;
314 int def;
315 };
316
317 #define KCmdLineLastOption {0,0,0}
318
319 class KAboutData
320 {
321 public:
322 KAboutData( const QString& name, const QString& appName, const QString& version,
323 const QString& description, int licence,
324 const QString& copyright, int w, const QString& homepage, const QString& email);
325 KAboutData( const QString& name, const QString& appName, const QString& version );
326 void addAuthor(const char* name=0, const char* task=0, const char* email=0, const char* weblink=0);
327 void addCredit(const char* name=0, const char* task=0, const char* email=0, const char* weblink=0);
328 enum { License_GPL };
329
330 struct AboutDataEntry
331 {
332 AboutDataEntry(const QString& name, const QString& task, const QString& email, const QString& weblink)
333 : m_name(name), m_task(task), m_email(email), m_weblink(weblink)
334 {}
335 QString m_name;
336 QString m_task;
337 QString m_email;
338 QString m_weblink;
339 };
340
341 std::list<AboutDataEntry> m_authorList;
342 std::list<AboutDataEntry> m_creditList;
343 };
344
345 typedef QList<QString> QCStringList;
346
347 class KCmdLineArgs
348 {
349 public:
350 static KCmdLineArgs* parsedArgs();
351 static void init( int argc, char**argv, KAboutData* );
352 static void addCmdLineOptions( KCmdLineOptions* options ); // Add our own options.
353
354 int count();
355 QString arg(int);
356 KURL url(int i){ return KURL(arg(i)); }
357 void clear();
358 QString getOption(const QString&);
359 QCStringList getOptionList( const QString& );
360 bool isSet(const QString&);
361 };
362
363 class KIconLoader
364 {
365 public:
366 QPixmap loadIcon(const QString& name, int);
367 };
368
369 class KApplication : public QApplication
370 {
371 KConfig m_config;
372 KIconLoader m_iconLoader;
373 public:
374 KApplication();
375 static KApplication* kApplication();
376 KIconLoader* iconLoader();
377 KConfig* config();
378 bool isRestored();
379 };
380
381 extern KApplication* kapp;
382
383 class KLibFactory : public QObject
384 {
385 Q_OBJECT
386 public:
387 QObject* create(QObject*,const QString&,const QString&);
388 };
389
390 class KLibLoader
391 {
392 public:
393 static KLibLoader* self();
394 KLibFactory* factory(const QString&);
395 };
396
397 class KEditToolbar : public QDialog
398 {
399 public:
400 KEditToolbar( int ){}
401 };
402
403 class KGlobal
404 {
405 public:
406 static KConfig* config() { return 0; }
407 };
408
409 namespace KIO
410 {
411 enum UDSEntry {};
412 typedef QList<UDSEntry> UDSEntryList;
413 class Job : public QObject
414 {
415 public:
416 void kill(bool){}
417 bool error() {return false;}
418 void showErrorDialog( QWidget* ) {}
419 };
420 class SimpleJob : public Job {};
421 SimpleJob* mkdir( KURL );
422 SimpleJob* rmdir( KURL );
423 SimpleJob* file_delete( KURL, bool );
424 class FileCopyJob : public Job {};
425 FileCopyJob* file_move( KURL, KURL, int, bool, bool, bool );
426 FileCopyJob* file_copy( KURL, KURL, int, bool, bool, bool );
427 class CopyJob : public Job {};
428 CopyJob* link( KURL, KURL, bool );
429 class ListJob : public Job {};
430 ListJob* listRecursive( KURL, bool, bool );
431 ListJob* listDir( KURL, bool, bool );
432 class StatJob : public Job {
433 public: UDSEntry statResult(){ return (UDSEntry)0; }
434 };
435 StatJob* stat( KURL, bool, int, bool );
436 class TransferJob : public Job {};
437 TransferJob* get( KURL, bool, bool );
438 TransferJob* put( KURL, int, bool, bool, bool );
439 };
440
441 typedef QProgressBar KProgress;
442
443 class KInstance : public QObject
444 {
445 public:
446 KInstance(KAboutData*){}
447 };
448
449 namespace KParts
450 {
451 class MainWindow : public KMainWindow
452 {
453 public:
454 MainWindow( QWidget* parent, const char* name ) : KMainWindow(parent,name) {}
455 void setXMLFile(const QString&){}
456 void setAutoSaveSettings(){}
457 void saveMainWindowSettings(KConfig*){}
458 void applyMainWindowSettings(KConfig*){}
459 int factory(){return 0;}
460 };
461
462 class Part : public QObject
463 {
464 public:
465 KActionCollection* actionCollection();
466 KApplication* instance();
467 void setWidget( QWidget* w ){ m_pWidget=w; }
468 QWidget* widget(){return m_pWidget;}
469 void setXMLFile(const QString&){}
470 private:
471 QWidget* m_pWidget;
472 };
473
474 class ReadOnlyPart : public Part
475 {
476 public:
477 ReadOnlyPart(){}
478 ReadOnlyPart(QObject*,const QString&){}
479 void setInstance( KInstance* ){}
480 QString m_file;
481 };
482
483 class ReadWritePart : public ReadOnlyPart
484 {
485 public:
486 ReadWritePart(QObject*,const Q3CString&){}
487 void setReadWrite(bool){}
488 };
489
490 class Factory : public KLibFactory
491 {
492 Q_OBJECT
493 public:
494 virtual KParts::Part* createPartObject( QWidget *parentWidget, const char *widgetName,
495 QObject *parent, const char *name,
496 const char *classname, const QStringList &args )=0;
497 };
498 };
499 #endif
500
501