joachim99@8: /*************************************************************************** joachim99@8: kreplacements.h - description joachim99@8: ------------------- joachim99@8: begin : Sat Aug 3 2002 joachim99@8: copyright : (C) 2002 by Joachim Eibl joachim99@8: email : joachim.eibl@gmx.de joachim99@8: ***************************************************************************/ joachim99@8: joachim99@8: /*************************************************************************** joachim99@8: * * joachim99@8: * This program is free software; you can redistribute it and/or modify * joachim99@8: * it under the terms of the GNU General Public License as published by * joachim99@8: * the Free Software Foundation; either version 2 of the License, or * joachim99@8: * (at your option) any later version. * joachim99@8: * * joachim99@8: ***************************************************************************/ joachim99@8: joachim99@8: /*************************************************************************** joachim99@8: * $Log$ joachim99@51: * Revision 1.2 2003/12/09 20:26:39 joachim99 joachim99@51: * 0.9.80 joachim99@8: * joachim99@8: ***************************************************************************/ joachim99@8: joachim99@8: #ifndef KREPLACEMENTS_H joachim99@8: #define KREPLACEMENTS_H joachim99@8: joachim99@8: #include joachim99@8: #include joachim99@8: #include joachim99@8: #include joachim99@8: #include joachim99@8: #include joachim99@8: #include joachim99@8: #include joachim99@8: #include joachim99@8: #include joachim99@8: #include joachim99@8: #include joachim99@8: #include joachim99@8: joachim99@8: #include joachim99@8: joachim99@8: class KMainWindow; joachim99@8: joachim99@8: class KURL joachim99@8: { joachim99@8: public: joachim99@8: KURL(){} joachim99@8: KURL(const QString& s){ m_s = s; } joachim99@8: static KURL fromPathOrURL( const QString& s ){ return KURL(s); } joachim99@8: QString url() const { return m_s; } joachim99@8: bool isEmpty() const { return m_s.isEmpty(); } joachim99@8: QString prettyURL() const { return m_s; } joachim99@8: bool isLocalFile() const { return true; } joachim99@8: bool isValid() const { return true; } joachim99@8: QString path() const { return m_s; } joachim99@8: void setPath( const QString& s ){ m_s=s; } joachim99@8: QString fileName() const { return m_s; } // not really needed joachim99@8: void addPath( const QString& s ){ m_s += "/" + s; } joachim99@8: private: joachim99@8: QString m_s; joachim99@8: }; joachim99@8: joachim99@8: class KMessageBox joachim99@8: { joachim99@8: public: joachim99@8: static void error( QWidget* parent, const QString& text, const QString& caption=QString() ); joachim99@8: static int warningContinueCancel( QWidget* parent, const QString& text, const QString& caption=QString(), joachim99@8: const QString& button1=QString("Continue") ); joachim99@8: static void sorry( QWidget* parent, const QString& text, const QString& caption=QString() ); joachim99@8: static void information( QWidget* parent, const QString& text, const QString& caption=QString() ); joachim99@8: static int warningYesNo( QWidget* parent, const QString& text, const QString& caption, joachim99@8: const QString& button1, const QString& button2 ); joachim99@8: static int warningYesNoCancel( joachim99@8: QWidget* parent, const QString& text, const QString& caption, joachim99@8: const QString& button1, const QString& button2 ); joachim99@8: joachim99@8: enum {Cancel=-1, No=0, Yes=1, Continue=1}; joachim99@8: }; joachim99@8: joachim99@8: #define i18n(x) QObject::tr(x) joachim99@8: #define I18N_NOOP(x) x joachim99@8: #define RESTORE(x) joachim99@8: #define _UNLOAD(x) joachim99@8: joachim99@8: typedef QPopupMenu KPopupMenu; joachim99@8: joachim99@8: class KDialogBase : public QTabDialog joachim99@8: { joachim99@8: Q_OBJECT joachim99@8: public: joachim99@8: KDialogBase( int, const QString& caption, int, int, QWidget* parent, const QString& name, joachim99@8: bool /*modal*/, bool ); joachim99@8: ~KDialogBase(); joachim99@8: joachim99@8: void incInitialSize ( const QSize& ); joachim99@8: void setHelp(const QString& helpfilename, const QString& ); joachim99@8: enum {IconList, Help, Default, Apply, Ok, Cancel }; joachim99@8: joachim99@8: int BarIcon(const QString& iconName, int ); joachim99@8: joachim99@8: QVBox* addVBoxPage( const QString& name, const QString& info, int ); joachim99@8: QFrame* addPage( const QString& name, const QString& info, int ); joachim99@8: int spacingHint(); joachim99@8: joachim99@8: virtual void accept(); joachim99@8: signals: joachim99@8: void applyClicked(); joachim99@8: joachim99@8: protected slots: joachim99@8: virtual void slotOk( void ); joachim99@8: virtual void slotApply( void ); joachim99@8: virtual void slotHelp( void ); joachim99@8: virtual void slotCancel( void ); joachim99@8: virtual void slotDefault( void ); joachim99@8: }; joachim99@8: joachim99@8: class KFileDialog : public QFileDialog joachim99@8: { joachim99@8: public: joachim99@8: static KURL getSaveURL( const QString &startDir=QString::null, joachim99@8: const QString &filter=QString::null, joachim99@8: QWidget *parent=0, const QString &caption=QString::null); joachim99@8: static KURL getOpenURL( const QString & startDir = QString::null, joachim99@8: const QString & filter = QString::null, joachim99@8: QWidget * parent = 0, joachim99@8: const QString & caption = QString::null ); joachim99@8: static KURL getExistingURL( const QString & startDir = QString::null, joachim99@8: QWidget * parent = 0, joachim99@8: const QString & caption = QString::null ); joachim99@8: }; joachim99@8: joachim99@8: typedef QStatusBar KStatusBar; joachim99@8: joachim99@8: class KToolBar : public QToolBar joachim99@8: { joachim99@8: public: joachim99@8: KToolBar(QMainWindow* parent); joachim99@8: joachim99@8: enum BarPosition {Top}; joachim99@8: BarPosition barPos(); joachim99@8: void setBarPos(BarPosition); joachim99@8: }; joachim99@8: joachim99@8: class KActionCollection joachim99@8: { joachim99@8: public: joachim99@8: KMainWindow* m_pMainWindow; joachim99@8: KActionCollection( KMainWindow* p){ m_pMainWindow=p; } joachim99@8: }; joachim99@8: joachim99@8: class KKeyDialog joachim99@8: { joachim99@8: public: joachim99@8: static void configure(void*, QWidget*){} joachim99@8: static void configureKeys(KActionCollection*, const QString&){} joachim99@8: static void configure(KActionCollection*, const QString&){} joachim99@8: }; joachim99@8: joachim99@8: namespace KParts joachim99@8: { joachim99@8: class ReadWritePart; joachim99@8: } joachim99@8: joachim99@8: class KMainWindow : public QMainWindow joachim99@8: { joachim99@8: Q_OBJECT joachim99@8: private: joachim99@8: KStatusBar m_statusBar; joachim99@8: KActionCollection m_actionCollection; joachim99@8: protected: joachim99@8: void closeEvent(QCloseEvent* e); joachim99@8: virtual bool queryClose() = 0; joachim99@8: virtual bool queryExit() = 0; joachim99@8: bool event( QEvent* e ); joachim99@8: public: joachim99@8: QPopupMenu* fileMenu; joachim99@8: QPopupMenu* editMenu; joachim99@8: QPopupMenu* directoryMenu; joachim99@51: QPopupMenu* dirCurrentItemMenu; joachim99@51: QPopupMenu* dirCurrentSyncItemMenu; joachim99@8: QPopupMenu* movementMenu; joachim99@8: QPopupMenu* mergeMenu; joachim99@8: QPopupMenu* windowsMenu; joachim99@8: QPopupMenu* settingsMenu; joachim99@8: QPopupMenu* helpMenu; joachim99@8: joachim99@8: KToolBar* m_pToolBar; joachim99@8: joachim99@8: KMainWindow( QWidget* parent, const QString& name ); joachim99@8: KToolBar* toolBar(const QString& s = QString::null); joachim99@8: KActionCollection* actionCollection(); joachim99@8: void createGUI(); joachim99@8: void createGUI(KParts::ReadWritePart*){createGUI();} joachim99@8: joachim99@8: QList* memberList; joachim99@8: public slots: joachim99@8: void quit(); joachim99@8: void slotHelp(); joachim99@8: void slotAbout(); joachim99@8: }; joachim99@8: joachim99@8: class KConfig joachim99@8: { joachim99@8: QString m_fileName; joachim99@8: std::map m_map; joachim99@8: public: joachim99@8: KConfig(); joachim99@8: ~KConfig(); joachim99@8: joachim99@8: void setGroup(const QString&); joachim99@8: joachim99@8: void writeEntry(const QString&, const QFont& ); joachim99@8: void writeEntry(const QString&, const QColor& ); joachim99@8: void writeEntry(const QString&, const QSize& ); joachim99@8: void writeEntry(const QString&, const QPoint& ); joachim99@8: void writeEntry(const QString&, int ); joachim99@8: void writeEntry(const QString&, bool ); joachim99@8: void writeEntry(const QString&, const QStringList&, char separator ); joachim99@8: void writeEntry(const QString&, const QString& ); joachim99@8: joachim99@8: QFont readFontEntry(const QString&, QFont* defaultVal ); joachim99@8: QColor readColorEntry(const QString&, QColor* defaultVal ); joachim99@8: QSize readSizeEntry(const QString& ); joachim99@8: QPoint readPointEntry(const QString& ); joachim99@8: bool readBoolEntry(const QString&, bool bDefault ); joachim99@8: int readNumEntry(const QString&, int iDefault ); joachim99@8: QStringList readListEntry(const QString&, char separator ); joachim99@8: QString readEntry(const QString&, const QString& ); joachim99@8: }; joachim99@8: joachim99@8: class KAction : public QAction joachim99@8: { joachim99@8: public: joachim99@51: 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: KAction(const QString& text, int accel, QObject* receiver, const char* slot, KActionCollection* actionCollection, const QString& name, bool bToggle=false, bool bMenu=true); joachim99@8: void setStatusText(const QString&); joachim99@8: void plug(QPopupMenu*); joachim99@8: }; joachim99@8: joachim99@8: class KToggleAction : public KAction joachim99@8: { joachim99@8: public: joachim99@51: KToggleAction(const QString& text, const QIconSet& icon, int accel, QObject* receiver, const char* slot, KActionCollection* actionCollection, const QString& name, bool bMenu=true); joachim99@51: KToggleAction(const QString& text, int accel, QObject* receiver, const char* slot, KActionCollection* actionCollection, const QString& name, bool bMenu=true); joachim99@8: KToggleAction(const QString& text, const QIconSet& icon, int accel, KActionCollection* actionCollection, const QString& name, bool bMenu=true); joachim99@8: void setChecked(bool); joachim99@8: bool isChecked(); joachim99@8: }; joachim99@8: joachim99@8: joachim99@8: class KStdAction joachim99@8: { joachim99@8: public: joachim99@8: static KAction* open( QWidget* parent, const char* slot, KActionCollection* ); joachim99@8: static KAction* save( QWidget* parent, const char* slot, KActionCollection* ); joachim99@8: static KAction* saveAs( QWidget* parent, const char* slot, KActionCollection* ); joachim99@8: static KAction* quit( QWidget* parent, const char* slot, KActionCollection* ); joachim99@8: static KAction* cut( QWidget* parent, const char* slot, KActionCollection* ); joachim99@8: static KAction* copy( QWidget* parent, const char* slot, KActionCollection* ); joachim99@8: static KAction* paste( QWidget* parent, const char* slot, KActionCollection* ); joachim99@8: static KToggleAction* showToolbar( QWidget* parent, const char* slot, KActionCollection* ); joachim99@8: static KToggleAction* showStatusbar( QWidget* parent, const char* slot, KActionCollection* ); joachim99@8: static KAction* preferences( QWidget* parent, const char* slot, KActionCollection* ); joachim99@8: static KAction* about( QWidget* parent, const char* slot, KActionCollection* ); joachim99@8: static KAction* help( QWidget* parent, const char* slot, KActionCollection* ); joachim99@8: static KAction* find( QWidget* parent, const char* slot, KActionCollection* ); joachim99@8: static KAction* findNext( QWidget* parent, const char* slot, KActionCollection* ); joachim99@8: static KAction* keyBindings( QWidget* parent, const char* slot, KActionCollection* ); joachim99@8: }; joachim99@8: joachim99@8: class KIcon joachim99@8: { joachim99@8: public: joachim99@8: enum {SizeMedium,Small}; joachim99@8: }; joachim99@8: joachim99@8: class KFontChooser : public QWidget joachim99@8: { joachim99@8: Q_OBJECT joachim99@8: QFont m_font; joachim99@8: QPushButton* m_pSelectFont; joachim99@8: QLabel* m_pLabel; joachim99@8: QWidget* m_pParent; joachim99@8: public: joachim99@8: KFontChooser( QWidget* pParent, const QString& name, bool, const QStringList&, bool, int ); joachim99@8: QFont font(); joachim99@8: void setFont( const QFont&, bool ); joachim99@8: private slots: joachim99@8: void slotSelectFont(); joachim99@8: }; joachim99@8: joachim99@8: class KColorButton : public QPushButton joachim99@8: { joachim99@8: Q_OBJECT joachim99@8: QColor m_color; joachim99@8: public: joachim99@8: KColorButton(QWidget* parent); joachim99@8: QColor color(); joachim99@8: void setColor(const QColor&); joachim99@8: virtual void paintEvent(QPaintEvent* e); joachim99@8: public slots: joachim99@8: void slotClicked(); joachim99@8: }; joachim99@8: joachim99@8: struct KCmdLineOptions joachim99@8: { joachim99@8: const char* shortName; joachim99@8: const char* longName; joachim99@8: int whatever; joachim99@8: }; joachim99@8: joachim99@8: joachim99@8: class KAboutData joachim99@8: { joachim99@8: public: joachim99@8: KAboutData( const QString& name, const QString& appName, const QString& version, joachim99@8: const QString& description, int licence, joachim99@8: const QString& copyright, int w, const QString& homepage, const QString& email); joachim99@8: KAboutData( const QString& name, const QString& appName, const QString& version ); joachim99@8: void addAuthor(const QString& name, int, const QString& email); joachim99@8: enum { License_GPL }; joachim99@8: }; joachim99@8: joachim99@8: typedef QValueList QCStringList; joachim99@8: joachim99@8: class KCmdLineArgs joachim99@8: { joachim99@8: public: joachim99@8: static KCmdLineArgs* parsedArgs(); joachim99@8: static void init( int argc, char**argv, KAboutData* ); joachim99@8: static void addCmdLineOptions( KCmdLineOptions* options ); // Add our own options. joachim99@8: joachim99@8: int count(); joachim99@8: QString arg(int); joachim99@51: KURL url(int i){ return KURL(arg(i)); } joachim99@8: void clear(); joachim99@8: QString getOption(const QString&); joachim99@8: QCStringList getOptionList( const QString& ); joachim99@8: bool isSet(const QString&); joachim99@8: }; joachim99@8: joachim99@8: class KIconLoader joachim99@8: { joachim99@8: public: joachim99@8: QPixmap loadIcon(const QString& name, int); joachim99@8: }; joachim99@8: joachim99@8: class KApplication : public QApplication joachim99@8: { joachim99@8: KConfig m_config; joachim99@8: KIconLoader m_iconLoader; joachim99@8: public: joachim99@8: KApplication(); joachim99@8: static KApplication* kApplication(); joachim99@8: KIconLoader* iconLoader(); joachim99@8: KConfig* config(); joachim99@8: bool isRestored(); joachim99@8: }; joachim99@8: joachim99@8: extern KApplication* kapp; joachim99@8: joachim99@8: class KLibFactory : public QObject joachim99@8: { joachim99@8: Q_OBJECT joachim99@8: public: joachim99@8: QObject* create(QObject*,const QString&,const QString&); joachim99@8: }; joachim99@8: joachim99@8: class KLibLoader joachim99@8: { joachim99@8: public: joachim99@8: static KLibLoader* self(); joachim99@8: KLibFactory* factory(const QString&); joachim99@8: }; joachim99@8: joachim99@8: class KEditToolbar : public QDialog joachim99@8: { joachim99@8: public: joachim99@8: KEditToolbar( int ){} joachim99@8: }; joachim99@8: joachim99@8: class KGlobal joachim99@8: { joachim99@8: public: joachim99@8: static KConfig* config() { return 0; } joachim99@8: }; joachim99@8: joachim99@8: namespace KIO joachim99@8: { joachim99@8: enum UDSEntry {}; joachim99@8: typedef QValueList UDSEntryList; joachim99@8: class Job : public QObject joachim99@8: { joachim99@8: public: joachim99@51: void kill(bool){} joachim99@8: bool error() {return false;} joachim99@8: void showErrorDialog( QWidget* ) {} joachim99@8: }; joachim99@8: class SimpleJob : public Job {}; joachim99@8: SimpleJob* mkdir( KURL ); joachim99@8: SimpleJob* rmdir( KURL ); joachim99@8: SimpleJob* file_delete( KURL, bool ); joachim99@8: class FileCopyJob : public Job {}; joachim99@8: FileCopyJob* file_move( KURL, KURL, int, bool, bool, bool ); joachim99@8: FileCopyJob* file_copy( KURL, KURL, int, bool, bool, bool ); joachim99@8: class CopyJob : public Job {}; joachim99@8: CopyJob* link( KURL, KURL, bool ); joachim99@8: class ListJob : public Job {}; joachim99@8: ListJob* listRecursive( KURL, bool, bool ); joachim99@8: ListJob* listDir( KURL, bool, bool ); joachim99@8: class StatJob : public Job { joachim99@8: public: UDSEntry statResult(){ return (UDSEntry)0; } joachim99@8: }; joachim99@8: StatJob* stat( KURL, bool, int, bool ); joachim99@8: class TransferJob : public Job {}; joachim99@8: TransferJob* get( KURL, bool, bool ); joachim99@8: TransferJob* put( KURL, int, bool, bool, bool ); joachim99@8: }; joachim99@8: joachim99@8: typedef QProgressBar KProgress; joachim99@8: joachim99@8: class KInstance : public QObject joachim99@8: { joachim99@8: public: joachim99@8: KInstance(KAboutData*){} joachim99@8: }; joachim99@8: joachim99@8: namespace KParts joachim99@8: { joachim99@8: class MainWindow : public KMainWindow joachim99@8: { joachim99@8: public: joachim99@8: MainWindow( QWidget* parent, const QString& name ) : KMainWindow(parent,name) {} joachim99@8: void setXMLFile(const QString&){} joachim99@8: void setAutoSaveSettings(){} joachim99@8: void saveMainWindowSettings(KConfig*){} joachim99@8: void applyMainWindowSettings(KConfig*){} joachim99@8: int factory(){return 0;} joachim99@8: }; joachim99@8: joachim99@8: class Part : public QObject joachim99@8: { joachim99@8: public: joachim99@8: KActionCollection* actionCollection(); joachim99@8: KApplication* instance(); joachim99@8: void setWidget( QWidget* w ){ m_pWidget=w; } joachim99@8: QWidget* widget(){return m_pWidget;} joachim99@8: void setXMLFile(const QString&){} joachim99@8: private: joachim99@8: QWidget* m_pWidget; joachim99@8: }; joachim99@8: joachim99@8: class ReadOnlyPart : public Part joachim99@8: { joachim99@8: public: joachim99@8: ReadOnlyPart(){} joachim99@8: ReadOnlyPart(QObject*,const QCString&){} joachim99@8: void setInstance( KInstance* ){} joachim99@8: QString m_file; joachim99@8: }; joachim99@8: joachim99@8: class ReadWritePart : public ReadOnlyPart joachim99@8: { joachim99@8: public: joachim99@8: ReadWritePart(QObject*,const QCString&){} joachim99@8: void setReadWrite(bool){} joachim99@8: }; joachim99@8: joachim99@8: class Factory : public KLibFactory joachim99@8: { joachim99@8: Q_OBJECT joachim99@8: public: joachim99@8: virtual KParts::Part* createPartObject( QWidget *parentWidget, const char *widgetName, joachim99@8: QObject *parent, const char *name, joachim99@8: const char *classname, const QStringList &args )=0; joachim99@8: }; joachim99@8: }; joachim99@8: #endif joachim99@8: joachim99@8: