~ubuntu-branches/ubuntu/saucy/kgrubeditor/saucy

« back to all changes in this revision

Viewing changes to src/backup.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Steve Stalcup
  • Date: 2008-08-02 08:47:56 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20080802084756-4doy9cyfc63kzaic
Tags: 0.7-0ubuntu1
* New upstream release
* bumped standards version to 3.8.0 (no change)
* Updated debian/cdbs for intrepid paths

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
//Own
25
25
#include "backup.h"
26
26
 
27
 
BackupAssistant::BackupAssistant( KUrl *source, KUrl *target, QWidget *parent ) : KAssistantDialog( parent )
 
27
//KDE
 
28
#include <kmessagebox.h>
 
29
 
 
30
//KGRUBEditor
 
31
#include "core/filetransactions.h"
 
32
 
 
33
BackupAssistant::BackupAssistant( QWidget *parent ) : KAssistantDialog( parent )
28
34
{
29
35
//SETUP UI
30
 
        setCaption( i18n( "Backup Assistant" ) );
 
36
        setCaption( i18nc( "@title:window", "Backup Assistant" ) );
31
37
        setWindowIcon( KIcon( "document-save-all" ) );
32
38
        setAttribute( Qt::WA_DeleteOnClose );
33
39
        showButton( KDialog::Help, false );
 
40
        setInitialSize( QSize( 500, 400 ) );
34
41
 
35
 
        QWidget *intro = new QWidget;
 
42
        QWidget *intro = new QWidget( this );
36
43
        ui_intro.setupUi( intro );
37
 
        addPage( intro, i18n( "Introduction" ) );
38
 
        QWidget *step1 = new QWidget;
39
 
        ui_step1.setupUi( step1 );
40
 
        addPage( step1, i18n( "Step 1/2 - Source File" ) );
41
 
        QWidget *step2 = new QWidget;
42
 
        ui_step2.setupUi( step2 );
43
 
        addPage( step2, i18n( "Step 2/2 - Target File" ) );
44
 
        QWidget *summary = new QWidget;
45
 
        ui_summary.setupUi( summary );
46
 
        summaryPage = addPage( summary, i18n( "Summary" ) );
47
 
//PROPERTY SETUP
48
 
        m_source = source;
49
 
        m_target = target;
50
 
//SHOW MAP(IF ANY - ONLY USED IN EDIT MODE)
51
 
        ui_step1.kurlrequester->setUrl( *source );
52
 
        ui_step2.kurlrequester->setUrl( *target );
53
 
//SETUP CONNECTIONS
54
 
        connect( this, SIGNAL( user2Clicked() ), SLOT( nextClicked() ) );
55
 
        connect( this, SIGNAL( user1Clicked() ), SLOT( finishClicked() ) );
56
 
}
57
 
 
58
 
void BackupAssistant::nextClicked()
59
 
{
60
 
        if ( currentPage() == summaryPage )
61
 
        {
62
 
                ui_summary.label_source->setText( "<b>" + ui_step1.kurlrequester->url().path() + "</b>" );
63
 
                ui_summary.label_target->setText( "<b>" + ui_step2.kurlrequester->url().path() + "</b>" );
64
 
        }
65
 
}
66
 
void BackupAssistant::finishClicked()
67
 
{
68
 
        *m_source = ui_step1.kurlrequester->url().path();
69
 
        *m_target = ui_step2.kurlrequester->url().path();
 
44
        addPage( intro, i18nc( "@title", "Introduction" ) );
 
45
        QWidget *choice = new QWidget( this );
 
46
        ui_choice.setupUi( choice );
 
47
        choicePage = addPage( choice, i18nc( "@title", "Select Backup Task" ) );
 
48
        QWidget *create = new QWidget( this );
 
49
        ui_create.setupUi( create );
 
50
        createPage = addPage( create, i18nc( "@title", "Create Backup" ) );
 
51
        QWidget *restore = new QWidget( this );
 
52
        ui_restore.setupUi( restore );
 
53
        restorePage = addPage( restore, i18nc( "@title", "Restore Backup" ) );
 
54
        QWidget *_delete = new QWidget( this );
 
55
        ui_delete.setupUi( _delete );
 
56
        deletePage = addPage( _delete, i18nc( "@title", "Delete Backup" ) );
 
57
//MISC UI SETUP
 
58
        ui_choice.label_iconCreate->setPixmap( KIcon( "document-save-all" ).pixmap( 48, 48 ) );
 
59
        ui_choice.label_iconRestore->setPixmap( KIcon( "document-revert" ).pixmap( 48, 48 ) );
 
60
        ui_choice.label_iconDelete->setPixmap( KIcon( "edit-delete" ).pixmap( 48, 48 ) );
 
61
}
 
62
void BackupAssistant::setMenuFile( const KUrl &menuFile )
 
63
{
 
64
        ui_create.kurlrequester_source->setUrl( menuFile );
 
65
        ui_create.kurlrequester_target->setUrl( menuFile.path() + "_backup" );
 
66
 
 
67
        ui_restore.kurlrequester_source->setUrl( menuFile.path() + "_backup" );
 
68
        ui_restore.kurlrequester_target->setUrl( menuFile );
 
69
 
 
70
        ui_delete.kurlrequester->setUrl( menuFile.path() + "_backup" );
 
71
}
 
72
 
 
73
void BackupAssistant::slotButtonClicked( int button )
 
74
{
 
75
        //Next
 
76
        if ( button == KDialog::User2 )
 
77
        {
 
78
                if ( currentPage() == choicePage )
 
79
                {
 
80
                        setAppropriate( createPage, ui_choice.radioButton_create->isChecked() );
 
81
                        setAppropriate( restorePage, ui_choice.radioButton_restore->isChecked() );
 
82
                        setAppropriate( deletePage, ui_choice.radioButton_delete->isChecked() );
 
83
                }
 
84
                KDialog::slotButtonClicked( button );
 
85
        }
 
86
        //Finish
 
87
        else if ( button == KDialog::User1 )
 
88
        {
 
89
                //create
 
90
                if ( currentPage() == createPage )
 
91
                {
 
92
                        if ( ui_create.kurlrequester_source->url().isEmpty() || ui_create.kurlrequester_target->url().isEmpty() )
 
93
                        {
 
94
                                KMessageBox::sorry( this, i18nc( "@info", "Please fill in all fields." ) );
 
95
                                return;
 
96
                        }
 
97
 
 
98
                        FileTransactions::backup( ui_create.kurlrequester_source->url(), ui_create.kurlrequester_target->url() );
 
99
                        KDialog::slotButtonClicked( button );
 
100
                }
 
101
                //restore
 
102
                if ( currentPage() == restorePage )
 
103
                {
 
104
                        if ( ui_restore.kurlrequester_source->url().isEmpty() || ui_restore.kurlrequester_target->url().isEmpty() )
 
105
                        {
 
106
                                KMessageBox::sorry( this, i18nc( "@info", "Please fill in all fields." ) );
 
107
                                return;
 
108
                        }
 
109
 
 
110
                        FileTransactions::restore( ui_restore.kurlrequester_source->url(), ui_restore.kurlrequester_target->url() );
 
111
                        KDialog::slotButtonClicked( button );
 
112
                }
 
113
                //delete
 
114
                if ( currentPage() == deletePage )
 
115
                {
 
116
                        if ( ui_delete.kurlrequester->url().isEmpty() )
 
117
                        {
 
118
                                KMessageBox::sorry( this, i18nc( "@info", "Please specify a backup to delete." ) );
 
119
                                return;
 
120
                        }
 
121
 
 
122
                        FileTransactions::deleteBackup( ui_delete.kurlrequester->url() );
 
123
                        KDialog::slotButtonClicked( button );
 
124
                }
 
125
        }
 
126
        else
 
127
                KDialog::slotButtonClicked( button );
70
128
}