2009-11-18 15:11:15 +03:00
/*
* Bittorrent Client using Qt4 and libtorrent .
* Copyright ( C ) 2006 Christophe Dumez
*
* This program is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation ; either version 2
* of the License , or ( at your option ) any later version .
*
* This program 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 General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 51 Franklin Street , Fifth Floor , Boston , MA 02110 - 1301 , USA .
*
* In addition , as a special exception , the copyright holders give permission to
* link this program with the OpenSSL project ' s " OpenSSL " library ( or with
* modified versions of it that use the same license as the " OpenSSL " library ) ,
* and distribute the linked executables . You must obey the GNU General Public
* License in all respects for all of the code used other than " OpenSSL " . If you
* modify file ( s ) , you may extend this exception to your version of the file ( s ) ,
* but you are not obligated to do so . If you do not wish to do so , delete this
* exception statement from your version .
*
* Contact : chris @ qbittorrent . org
*/
# ifndef DELETIONCONFIRMATIONDLG_H
# define DELETIONCONFIRMATIONDLG_H
# include <QDialog>
2015-05-24 10:11:37 +03:00
# include <QPushButton>
2009-11-18 15:11:15 +03:00
# include "ui_confirmdeletiondlg.h"
2010-05-21 19:42:17 +04:00
# include "preferences.h"
2011-01-01 16:05:28 +03:00
# include "iconprovider.h"
2014-07-05 16:44:13 +04:00
# include "misc.h"
2009-11-18 15:11:15 +03:00
class DeletionConfirmationDlg : public QDialog , private Ui : : confirmDeletionDlg {
Q_OBJECT
public :
2013-11-21 19:07:38 +04:00
DeletionConfirmationDlg ( QWidget * parent , const int & size , const QString & name ) : QDialog ( parent ) {
2009-11-18 15:11:15 +03:00
setupUi ( this ) ;
2013-11-21 19:07:38 +04:00
if ( size = = 1 )
label - > setText ( tr ( " Are you sure you want to delete \" %1 \" from the transfer list? " , " Are you sure you want to delete \" ubuntu-linux-iso \" from the transfer list? " ) . arg ( name ) ) ;
else
label - > setText ( tr ( " Are you sure you want to delete these %1 torrents from the transfer list? " , " Are you sure you want to delete these 5 torrents from the transfer list? " ) . arg ( QString : : number ( size ) ) ) ;
2010-12-12 22:37:59 +03:00
// Icons
2011-01-01 16:05:28 +03:00
lbl_warn - > setPixmap ( IconProvider : : instance ( ) - > getIcon ( " dialog-warning " ) . pixmap ( lbl_warn - > height ( ) ) ) ;
2010-12-12 22:37:59 +03:00
lbl_warn - > setFixedWidth ( lbl_warn - > height ( ) ) ;
2011-01-01 16:05:28 +03:00
rememberBtn - > setIcon ( IconProvider : : instance ( ) - > getIcon ( " object-locked " ) ) ;
2010-12-12 22:37:59 +03:00
2010-01-22 01:23:13 +03:00
move ( misc : : screenCenter ( this ) ) ;
2014-07-05 16:44:13 +04:00
checkPermDelete - > setChecked ( Preferences : : instance ( ) - > deleteTorrentFilesAsDefault ( ) ) ;
2010-06-21 23:20:58 +04:00
connect ( checkPermDelete , SIGNAL ( clicked ( ) ) , this , SLOT ( updateRememberButtonState ( ) ) ) ;
2015-05-24 10:11:37 +03:00
buttonBox - > button ( QDialogButtonBox : : Cancel ) - > setFocus ( ) ;
2009-11-18 15:11:15 +03:00
}
bool shouldDeleteLocalFiles ( ) const {
return checkPermDelete - > isChecked ( ) ;
}
2013-11-21 19:07:38 +04:00
static bool askForDeletionConfirmation ( bool & delete_local_files , const int & size , const QString & name ) {
DeletionConfirmationDlg dlg ( NULL , size , name ) ;
2012-02-20 21:30:53 +04:00
if ( dlg . exec ( ) = = QDialog : : Accepted ) {
2013-11-21 19:07:38 +04:00
delete_local_files = dlg . shouldDeleteLocalFiles ( ) ;
2009-11-18 15:11:15 +03:00
return true ;
}
return false ;
}
2010-06-21 23:20:58 +04:00
private slots :
void updateRememberButtonState ( ) {
2014-07-05 16:44:13 +04:00
rememberBtn - > setEnabled ( checkPermDelete - > isChecked ( ) ! = Preferences : : instance ( ) - > deleteTorrentFilesAsDefault ( ) ) ;
2010-06-21 23:20:58 +04:00
}
void on_rememberBtn_clicked ( ) {
2014-07-05 16:44:13 +04:00
Preferences : : instance ( ) - > setDeleteTorrentFilesAsDefault ( checkPermDelete - > isChecked ( ) ) ;
2010-06-21 23:20:58 +04:00
rememberBtn - > setEnabled ( false ) ;
}
2009-11-18 15:11:15 +03:00
} ;
# endif // DELETIONCONFIRMATIONDLG_H