1 #ifndef _KVI_FILEDIALOG_H_ 2 #define _KVI_FILEDIALOG_H_ 3 //============================================================================= 4 // 5 // File : KviFileDialog.h 6 // Creation date : Mon Nov 20 2000 03:52:12 CEST by Szymon Stefanek 7 // 8 // This file is part of the KVIrc IRC client distribution 9 // Copyright (C) 2000-2010 Szymon Stefanek (pragma at kvirc dot net) 10 // 11 // This program is FREE software. You can redistribute it and/or 12 // modify it under the terms of the GNU General Public License 13 // as published by the Free Software Foundation; either version 2 14 // of the License, or (at your option) any later version. 15 // 16 // This program is distributed in the HOPE that it will be USEFUL, 17 // but WITHOUT ANY WARRANTY; without even the implied warranty of 18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 19 // See the GNU General Public License for more details. 20 // 21 // You should have received a copy of the GNU General Public License 22 // along with this program. If not, write to the Free Software Foundation, 23 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 24 // 25 //============================================================================= 26 27 /** 28 * \file KviFileDialog.h 29 * \author Szymon Stefanek 30 * \brief File dialog helpers 31 */ 32 33 #ifdef Unsorted 34 #undef Unsorted 35 #endif 36 37 #include "kvi_settings.h" 38 #include "KviCString.h" 39 #include "KviTalFileDialog.h" 40 41 #include <QStringList> 42 43 /** 44 * \class KviFileDialog 45 * \brief File dialog class 46 */ 47 class KVIRC_API KviFileDialog : public KviTalFileDialog 48 { 49 Q_OBJECT 50 public: 51 /** 52 * \brief Constructs the file dialog object 53 * \param szDirName The directory where to use the dialog 54 * \param szFilter The filter to use 55 * \param pParent The parent widget 56 * \param name The name of the dialog 57 * \param bModal Whether to have a modal behaviour 58 * \return KviFileDialog 59 */ 60 KviFileDialog(const QString & szDirName, const QString & szFilter = QString(), QWidget * pParent = nullptr, const char * name = nullptr, bool bModal = false); 61 62 /** 63 * \brief Destroys the file dialog object 64 */ 65 ~KviFileDialog(); 66 67 public: 68 /** 69 * \param szBuffer The buffer where to store the data 70 * \param szCaption The caption of the dialog 71 * \param szInitial The initial directory 72 * \param szFilter The filter to use 73 * \param bShowHidden Whether to show hidden files 74 * \param bShowNative Whether to show native dialogs 75 * \param pParent The parent widget 76 * \return bool 77 */ 78 static bool askForOpenFileName(QString & szBuffer, const QString & szCaption, const QString & szInitial = QString(), const QString & szFilter = QString(), bool bShowHidden = false, bool bShowNative = true, QWidget * pParent = nullptr); 79 80 /** 81 * \param szBuffer The buffer where to store the data 82 * \param szCaption The caption of the dialog 83 * \param szInitial The initial directory 84 * \param szFilter The filter to use 85 * \param bShowHidden Whether to show hidden files 86 * \param bConfirmOverwrite Whether to avoid the check for an already existing file being overwritten 87 * \param bShowNative Whether to show native dialogs 88 * \param pParent The parent widget 89 * \return bool 90 */ 91 static bool askForSaveFileName(QString & szBuffer, const QString & szCaption, const QString & szInitial = QString(), const QString & szFilter = QString(), bool bShowHidden = false, bool bConfirmOverwrite = false, bool bShowNative = true, QWidget * pParent = nullptr); 92 93 /** 94 * \param szBuffer The buffer where to store the data 95 * \param szCaption The caption of the dialog 96 * \param szInitial The initial directory 97 * \param szFilter The filter to use 98 * \param bShowHidden Whether to show hidden files 99 * \param bShowNative Whether to show native dialogs 100 * \param pParent The parent widget 101 * \return bool 102 */ 103 static bool askForDirectoryName(QString & szBuffer, const QString & szCaption, const QString & szInitial, const QString & szFilter = QString(), bool bShowHidden = false, bool bShowNative = true, QWidget * pParent = nullptr); 104 105 /** 106 * \param szBuffer The buffer where to store the data 107 * \param szCaption The caption of the dialog 108 * \param szInitial The initial directory 109 * \param szFilter The filter to use 110 * \param bShowHidden Whether to show hidden files 111 * \param bShowNative Whether to show native dialogs 112 * \param pParent The parent widget 113 * \return bool 114 */ 115 static bool askForOpenFileNames(QStringList & szBuffer, const QString & szCaption, const QString & szInitial, const QString & szFilter = QString(), bool bShowHidden = false, bool bShowNative = true, QWidget * pParent = nullptr); 116 }; 117 118 #endif //_KVI_FILEDIALOG_H_ 119