annotate kdiff3/src/kreplacements/kreplacements.h @ 60:4732f709a8cb

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