summaryrefslogtreecommitdiffstats
path: root/kshowmail/filterlogview.cpp
blob: 22a4a5463c57495440c34ccc97c763675224ee6e (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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
//
// C++ Implementation: filterlogview
//
// Description:
//
//
// Author: Ulrich Weigelt <ulrich.weigelt@gmx.de>, (C) 2007
//
// Copyright: See COPYING file that comes with this distribution
//
//
#include "filterlogview.h"

FilterLogView::FilterLogView( QWidget *parent, FilterLog* log )
  : KDialogBase( parent, "FilterLogView", true, QString::null, Ok, Ok, true )
{
  //save the log pointer
  this->log = log;

  //set caption
  setCaption( i18n( "Filter Log View" ) );

  //main widget
  QWidget* pgMain = new QWidget( this );
  setMainWidget( pgMain );

  //basic layout
  QVBoxLayout* layMain = new QVBoxLayout( pgMain, 0, spacingHint() );

  //view of deleted views
  QLabel* lblDeletedMails = new QLabel( i18n( "Deleted Mails:"), pgMain, "lblDeletedMails" );
  layMain->addWidget( lblDeletedMails );

  lstViewDeleted = new KListView( pgMain, "lstViewDeleted" );
  lstViewDeleted->addColumn( i18n( "Date" ) );
  lstViewDeleted->addColumn( i18n( "Sender" ) );
  lstViewDeleted->addColumn( i18n( "Account" ) );
  lstViewDeleted->addColumn( i18n( "Subject" ) );
  lstViewDeleted->setColumnWidthMode( 0, QListView::Maximum );
  lstViewDeleted->setColumnWidthMode( 1, QListView::Maximum );
  lstViewDeleted->setColumnWidthMode( 2, QListView::Maximum );
  lstViewDeleted->setColumnWidthMode( 3, QListView::Maximum );
  lstViewDeleted->setResizeMode( QListView::NoColumn );
  lstViewDeleted->setSortColumn( 0 );
  lstViewDeleted->setSortOrder( Qt::Ascending );
  layMain->addWidget( lstViewDeleted );

  KPushButton* btnClearDeleted = new KPushButton( KStdGuiItem::clear(), pgMain, "btnClearDeleted" );
  QToolTip::add( btnClearDeleted, i18n( "Clear the list of deleted mails" ) );
  connect( btnClearDeleted, SIGNAL( clicked() ), this, SLOT( slotClearDeletedMails() ) );
  btnClearDeleted->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Fixed );
  layMain->addWidget( btnClearDeleted );

  //create a seperator
  layMain->addWidget( new KSeparator( pgMain ) );

  //view of deleted views
  QLabel* lblMovedMails = new QLabel( i18n( "Moved Mails:"), pgMain, "lblMovedMails" );
  layMain->addWidget( lblMovedMails );

  lstViewMoved = new KListView( pgMain, "lstViewMoved" );
  lstViewMoved->addColumn( i18n( "Date" ) );
  lstViewMoved->addColumn( i18n( "Sender" ) );
  lstViewMoved->addColumn( i18n( "Account" ) );
  lstViewMoved->addColumn( i18n( "Moved To" ) );
  lstViewMoved->addColumn( i18n( "Subject" ) );
  lstViewMoved->setColumnWidthMode( 0, QListView::Maximum );
  lstViewMoved->setColumnWidthMode( 1, QListView::Maximum );
  lstViewMoved->setColumnWidthMode( 2, QListView::Maximum );
  lstViewMoved->setColumnWidthMode( 3, QListView::Maximum );
  lstViewMoved->setColumnWidthMode( 4, QListView::Maximum );
  lstViewMoved->setResizeMode( QListView::NoColumn );
  lstViewMoved->setSortColumn( 0 );
  lstViewMoved->setSortOrder( Qt::Ascending );
  layMain->addWidget( lstViewMoved );

  KPushButton* btnClearMoved = new KPushButton( KStdGuiItem::clear(), pgMain, "btnClearMoved" );
  QToolTip::add( btnClearMoved, i18n( "Clear the list of moved mails" ) );
  connect( btnClearMoved, SIGNAL( clicked() ), this, SLOT( slotClearMovedMails() ) );
  btnClearMoved->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Fixed );
  layMain->addWidget( btnClearMoved );

  //now we load the content for the list views
  LogEntryList listDeletedMails = log->getDeletedMails();
  LogEntryList::iterator it;
  for( it = listDeletedMails.begin(); it != listDeletedMails.end(); it++ )
  {
    //create a new list view item
    FilterLogViewDeletedItem* item = new FilterLogViewDeletedItem( lstViewDeleted );
    item->setValues( (*it).getDate(), (*it).getSender(), (*it).getAccount(), (*it).getSubject() );
  }

  LogEntryList listMovedMails = log->getMovedMails();
  for( it = listMovedMails.begin(); it != listMovedMails.end(); it++ )
  {
    //create a new list view item
    FilterLogViewMovedItem* item = new FilterLogViewMovedItem( lstViewMoved );
    item->setValues( (*it).getDate(), (*it).getSender(), (*it).getAccount(), (*it).getMailbox(), (*it).getSubject() );
  }
}


FilterLogView::~FilterLogView()
{
}

void FilterLogView::slotClearDeletedMails( )
{
  log->clearDeletedMailsLog();
  lstViewDeleted->clear();

}

void FilterLogView::slotClearMovedMails( )
{
  log->clearMovedMailsLog();
  lstViewMoved->clear();
}


#include "filterlogview.moc"