summaryrefslogtreecommitdiff
path: root/gui/Updater/PkUpdate.cpp
blob: 16b56a29a1c7ebc0f023f683621d6fcf0b88b9fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/***************************************************************************
 *   Copyright (C) 2008 by Daniel Nicoletti   *
 *   dantti85-pk@yahoo.com.br   *
 *                                                                         *
 *   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.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/

#include "PkUpdate.h"
#include "../Common/PkTransaction.h"

#include <KMessageBox>
 
PkUpdate::PkUpdate( QWidget *parent ) : QWidget( parent )
{
    setupUi( this );
    descriptionKTB->hide();

    //initialize the model, delegate, client and  connect it's signals
    treeView->setModel(m_pkg_model_updates = new PkAddRmModel(this));
    treeView->setItemDelegate(pkg_delegate = new PkAddRmDelegate(this));

    // Create a new daemon
    m_daemon = new Daemon(this);

    m_pkClient_updates = m_daemon->newTransaction();
    connect( m_pkClient_updates, SIGNAL( GotPackage(Package *) ), m_pkg_model_updates, SLOT( addPackage(Package *) ) );
//     connect( m_pkClient_updates, SIGNAL(Finished(Exit::Value, uint)), this, SLOT(Finished(Exit::Value, uint)) );
//     connect( m_pkClient_updates, SIGNAL(Files(Package *, QStringList)), this, SLOT(Files(Package *, QStringList)) );
//     connect( m_pkClient_updates, SIGNAL( Message(const QString&, const QString&) ), this, SLOT( Message(const QString&, const QString&) ) );
//     connect( m_pkClient_updates, SIGNAL( ErrorCode(const QString&, const QString&) ), this, SLOT( Message(const QString&, const QString&) ) );
    m_pkClient_updates->getUpdates("none");
}

void PkUpdate::on_updatePB_clicked()
{
    qDebug() << "update";
}

void PkUpdate::on_refreshPB_clicked()
{
    Transaction *m_trans = m_daemon->newTransaction();
    if ( m_trans->refreshCache(true) ) {
        PkTransaction *frm = new PkTransaction(m_trans, i18n("Refresh Cache"), this);
        connect( frm, SIGNAL( Finished(bool) ), this, SLOT( refreshCacheFinished(bool) ) );
        frm->show();
    }
    else
        KMessageBox::error( this, i18n("Authentication failed"), i18n("KPackageKit") );
}

void PkUpdate::refreshCacheFinished(bool error)
{
    if (!error) {
        KConfig config("KPackageKit");
        KConfigGroup checkUpdateGroup( &config, "CheckUpdate" );
        checkUpdateGroup.writeEntry( "lastChecked", QDateTime::currentDateTime().toTime_t() );
    }
}

void PkUpdate::on_historyPB_clicked()
{
    qDebug() << "history";
    m_pkg_model_updates->clear();
// qDebug() << m_pkg_model_updates->rowCount();
}

#include "PkUpdate.moc"