/* Copyright (C) 2000, 2001, 2002 Dawit Alemayehu This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License version 2 as published by the Free Software Foundation. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef __RSYNC_CONFIG_DIALOG_H #define __RSYNC_CONFIG_DIALOG_H #include #include #include #include #include #include #include #include #include class RsyncConfigDialog : public KDialogBase { Q_OBJECT public: RsyncConfigDialog(QWidget* parent = 0, const char* name = 0, const QString& caption = QString::null, const QString& text = QString::null, const QString& localfolder = QString::null, const QString& remotefolder = QString::null, int syncmode = 1, bool modal = false); ~RsyncConfigDialog() {} // // /** // * Returns the KProgressBox used in this dialog. // * To set the number of steps or other progress bar related // * settings, access the KProgressBox object directly via this method. // */ // KProgress* progressBar(); // /** * Returns the QLineEdit used in this dialog. * To set the number of lines or other text box related * settings, access the KTextEdit object directly via this method. */ QLineEdit* lineEdit(); // // /** // * Returns the KProgressBox used in this dialog. // * To set the number of steps or other progress bar related // * settings, access the KProgressBox object directly via this method. // */ // const KProgress* progressBar() const; // /** * Returns the QLineEdit used in this dialog. * To set the number of lines or other text box related * settings, access the KTextEdit object directly via this method. */ const QLineEdit* lineEdit() const; /** * Sets the text in the dialog * * @param text the text to display */ void setLabel(const QString & text); /** * Returns the current dialog text * @deprecated */ // ### Remove this KDE 4.0 QString labelText() KDE_DEPRECATED; /** * Returns the current dialog text */ QString labelText() const; /** * Sets whether or not the user can cancel the process. * If the dialog is cancellable, the Cancel button will be shown * and the user can close the window using the window decorations. * If the process is not (or should not be) interuptable, * set the dialog to be modal and not cancellable. * * @param allowCancel Set to true to make the dialog non-closable */ void setAllowCancel(bool allowCancel); /** * Sets whether or not the user can edit the text shown in the textbox. * * @param allowTextEdit Set to true to make the text editable */ void setAllowTextEdit(bool allowTextEdit); /** * Returns true if the dialog can be canceled, false otherwise * @deprecated */ // ### Remove this KDE 4.0 bool allowCancel() KDE_DEPRECATED; /** * Returns true if the dialog can be canceled, false otherwise */ bool allowCancel() const; /** * Sets whether the cancel button is visible. setAllowCancel(false) * implies showCancelButton(false) * * @param show Whether or not the cancel button should be shown */ void showCancelButton(bool show); // // /** // * Sets whether the dialog should close automagically when // * all the steps in the KProgressBox have been completed. // */ // void setAutoClose(bool close); // // /** // * Returns true if the dialog will close upon completion, // * or false otherwise // */ // // ### Remove this KDE 4.0 // bool autoClose(); // // /** // * Returns true if the dialog will close upon completion, // * or false otherwise // */ // bool autoClose() const; // // /** // * Sets whether the dialog should reset the KProgressBox dialog // * back to 0 steps compelete when all steps have been completed. // * This is useful for RsyncConfigDialogs that will be reused. // */ // void setAutoReset(bool autoReset); // // /** // * Returns true if the KProgressBox widget will be reset // * upon completion, or false otherwise // */ // // ### Remove this KDE 4.0 // bool autoReset(); // // /** // * Returns true if the KProgressBox widget will be reset // * upon completion, or false otherwise // */ // bool autoReset() const; // /** * Returns true if the dialog was closed or canceled * before completion. If the dialog is not cancellable * it will always return false. */ // ### Remove this KDE 4.0 bool wasCancelled(); /** * Returns true if the dialog was closed or canceled * before completion. If the dialog is not cancellable * it will always return false. */ bool wasCancelled() const; /** * Returns index of selected synchronization mode * 1: Upload * 2: Download * 3: Bidirectional */ int getSyncMode(); /** * Ignores the last cancel action if the cancel button was * pressed. Useful for kdialog when combined with a KMessageBox * to display a message like "Are you sure you want to cancel?" * @since 3.5.5 */ void ignoreCancel(); /** * Sets the text to appear on the cancel button. */ void setButtonText(const QString&); /** * Returns the text on the cancel button * @deprecated */ // ### Remove this KDE 4.0 QString buttonText() KDE_DEPRECATED; /** * Returns the text on the cancel button */ QString buttonText() const; // // /** // * Set the minimum number of milliseconds to wait before // * actually showing the dialog // */ // void setMinimumDuration(int ms); // // /** // * Returns the wait duration in milliseconds // * @deprecated // */ // // ### Remove this KDE 4.0 // int minimumDuration() KDE_DEPRECATED; // // /** // * Returns the wait duration in milliseconds // */ // int minimumDuration() const; // // /** // * Reimplemented for internal reasons, the API is not affected. // */ // virtual void show(); // // protected slots: // void slotAutoShow(); // void slotAutoActions(int percentage); // void slotCancel(); // private: // ### Move these member variables to d in KDE 4.0 bool mAutoClose; bool mAutoReset; bool mCancelled; bool mAllowCancel; bool mAllowTextEdit; bool mShown; QString mCancelText; QLabel* mLabel; KProgress* mProgressBar; KTextEdit* mTextBox; QTimer* mShowTimer; QLineEdit* m_rsync_txt; QRadioButton *rsync_rb1; QRadioButton *rsync_rb2; QRadioButton *rsync_rb3; // protected: // virtual void virtual_hook( int id, void* data ); }; #endif