00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "filterlogview.h"
00019
00020 FilterLogView::FilterLogView( QWidget *parent, FilterLog* log )
00021 : KDialog( parent )
00022 {
00023
00024 this->log = log;
00025
00026
00027 setCaption( i18nc( "@title:window", "Filter Log View" ) );
00028
00029
00030 QWidget* pgMain = new QWidget( this );
00031 setMainWidget( pgMain );
00032
00033
00034 QVBoxLayout* layMain = new QVBoxLayout();
00035 pgMain->setLayout( layMain );
00036
00037
00038 QLabel* lblDeletedMails = new QLabel( i18nc( "@label:listbox list of deleted mails", "Deleted Mails:"), pgMain );
00039 layMain->addWidget( lblDeletedMails );
00040
00041 modelDeleted = new FilterLogViewDeletedModel( this, log );
00042 viewDeleted = new QTreeView( pgMain );
00043 viewDeleted->setModel( modelDeleted );
00044 viewDeleted->setIndentation( 0 );
00045 viewDeleted->setSortingEnabled( true );
00046 layMain->addWidget( viewDeleted );
00047
00048 KPushButton* btnClearDeleted = new KPushButton( KStandardGuiItem::clear(), pgMain );
00049 btnClearDeleted->setToolTip( i18nc( "@info:tooltip", "Clear the list of deleted mails" ) );
00050 connect( btnClearDeleted, SIGNAL( clicked() ), this, SLOT( slotClearDeletedMails() ) );
00051 btnClearDeleted->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Fixed );
00052 layMain->addWidget( btnClearDeleted );
00053
00054
00055 layMain->addWidget( new KSeparator( pgMain ) );
00056
00057
00058 QLabel* lblMovedMails = new QLabel( i18nc( "@label:listbox list of moved mails (written into mailboxes)", "Moved Mails:"), pgMain );
00059 layMain->addWidget( lblMovedMails );
00060
00061 modelMoved = new FilterLogViewMovedModel( this, log );
00062 viewMoved = new QTreeView( pgMain );
00063 viewMoved->setModel( modelMoved );
00064 viewMoved->setIndentation( 0 );
00065 viewMoved->setSortingEnabled( true );
00066 layMain->addWidget( viewMoved );
00067
00068 KPushButton* btnClearMoved = new KPushButton( KStandardGuiItem::clear(), pgMain );
00069 btnClearMoved->setToolTip( i18nc( "@info:tooltip", "Clear the list of moved mails" ) );
00070 connect( btnClearMoved, SIGNAL( clicked() ), this, SLOT( slotClearMovedMails() ) );
00071 btnClearMoved->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Fixed );
00072 layMain->addWidget( btnClearMoved );
00073
00074
00075
00076 KConfigGroup configWindowSettings( KGlobal::config(), CONFIG_GROUP_LOGVIEW );
00077 restoreDialogSize( configWindowSettings );
00078
00079
00080 loadSetup();
00081 }
00082
00083
00084 FilterLogView::~FilterLogView()
00085 {
00086 }
00087
00088 void FilterLogView::slotClearDeletedMails( )
00089 {
00090 log->clearDeletedMailsLog();
00091 modelDeleted->refresh();
00092
00093 }
00094
00095 void FilterLogView::slotClearMovedMails( )
00096 {
00097 log->clearMovedMailsLog();
00098 modelMoved->refresh();
00099 }
00100
00101 void FilterLogView::slotButtonClicked( int button )
00102 {
00103
00104 KConfigGroup configWindowSettings( KGlobal::config(), CONFIG_GROUP_LOGVIEW );
00105 saveDialogSize( configWindowSettings );
00106
00107
00108 saveSetup();
00109
00110 KDialog::slotButtonClicked( button );
00111 }
00112
00113 void FilterLogView::saveSetup()
00114 {
00115 KConfigGroup* conf = new KConfigGroup( KGlobal::config(), CONFIG_GROUP_LOGVIEW );
00116
00117
00118 conf->writeEntry( CONFIG_ENTRY_WIDTH_LOGVIEW_DELETED_DATE, viewDeleted->columnWidth( 0 ) );
00119 conf->writeEntry( CONFIG_ENTRY_WIDTH_LOGVIEW_DELETED_FROM, viewDeleted->columnWidth( 1 ) );
00120 conf->writeEntry( CONFIG_ENTRY_WIDTH_LOGVIEW_DELETED_ACCOUNT, viewDeleted->columnWidth( 2 ) );
00121 conf->writeEntry( CONFIG_ENTRY_WIDTH_LOGVIEW_DELETED_SUBJECT, viewDeleted->columnWidth( 3 ) );
00122
00123 conf->writeEntry( CONFIG_ENTRY_WIDTH_LOGVIEW_MOVED_DATE, viewMoved->columnWidth( 0 ) );
00124 conf->writeEntry( CONFIG_ENTRY_WIDTH_LOGVIEW_MOVED_FROM, viewMoved->columnWidth( 1 ) );
00125 conf->writeEntry( CONFIG_ENTRY_WIDTH_LOGVIEW_MOVED_ACCOUNT, viewMoved->columnWidth( 2 ) );
00126 conf->writeEntry( CONFIG_ENTRY_WIDTH_LOGVIEW_MOVED_MAILBOX, viewMoved->columnWidth( 3 ) );
00127 conf->writeEntry( CONFIG_ENTRY_WIDTH_LOGVIEW_MOVED_SUBJECT, viewMoved->columnWidth( 4 ) );
00128
00129 conf->sync();
00130
00131
00132 modelDeleted->saveSetup();
00133 modelMoved->saveSetup();
00134
00135 }
00136
00137 void FilterLogView::loadSetup()
00138 {
00139 KConfigGroup* conf = new KConfigGroup( KGlobal::config(), CONFIG_GROUP_LOGVIEW );
00140
00141
00142 viewDeleted->setColumnWidth( 0, conf->readEntry( CONFIG_ENTRY_WIDTH_LOGVIEW_DELETED_DATE, DEFAULT_WIDTH_LOGVIEW_DELETED_DATE ) );
00143 viewDeleted->setColumnWidth( 1, conf->readEntry( CONFIG_ENTRY_WIDTH_LOGVIEW_DELETED_FROM, DEFAULT_WIDTH_LOGVIEW_DELETED_FROM ) );
00144 viewDeleted->setColumnWidth( 2, conf->readEntry( CONFIG_ENTRY_WIDTH_LOGVIEW_DELETED_ACCOUNT, DEFAULT_WIDTH_LOGVIEW_DELETED_ACCOUNT ) );
00145 viewDeleted->setColumnWidth( 3, conf->readEntry( CONFIG_ENTRY_WIDTH_LOGVIEW_DELETED_SUBJECT, DEFAULT_WIDTH_LOGVIEW_DELETED_SUBJECT ) );
00146
00147 viewMoved->setColumnWidth( 0, conf->readEntry( CONFIG_ENTRY_WIDTH_LOGVIEW_MOVED_DATE, DEFAULT_WIDTH_LOGVIEW_MOVED_DATE ) );
00148 viewMoved->setColumnWidth( 1, conf->readEntry( CONFIG_ENTRY_WIDTH_LOGVIEW_MOVED_FROM, DEFAULT_WIDTH_LOGVIEW_MOVED_FROM ) );
00149 viewMoved->setColumnWidth( 2, conf->readEntry( CONFIG_ENTRY_WIDTH_LOGVIEW_MOVED_ACCOUNT, DEFAULT_WIDTH_LOGVIEW_MOVED_ACCOUNT ) );
00150 viewMoved->setColumnWidth( 3, conf->readEntry( CONFIG_ENTRY_WIDTH_LOGVIEW_MOVED_MAILBOX, DEFAULT_WIDTH_LOGVIEW_MOVED_MAILBOX ) );
00151 viewMoved->setColumnWidth( 4, conf->readEntry( CONFIG_ENTRY_WIDTH_LOGVIEW_MOVED_SUBJECT, DEFAULT_WIDTH_LOGVIEW_MOVED_SUBJECT ) );
00152
00153
00154 KConfigGroup* confSort = new KConfigGroup( KGlobal::config(), CONFIG_GROUP_VIEW );
00155
00156 QString strSortOrderDel = confSort->readEntry( CONFIG_ENTRY_SORT_ORDER_LOGVIEW_DELETED, DEFAULT_SORT_ORDER );
00157 int sortColumnDel = confSort->readEntry( CONFIG_ENTRY_SORT_COLUMN_LOGVIEW_DELETED, DEFAULT_SORT_COLUMN_LOGVIEW_DELETED );
00158 if( strSortOrderDel == CONFIG_VALUE_SORT_ORDER_DESCENDING ) {
00159
00160 viewDeleted->sortByColumn( sortColumnDel, Qt::DescendingOrder );
00161
00162 } else {
00163
00164 viewDeleted->sortByColumn( sortColumnDel, Qt::AscendingOrder );
00165 }
00166
00167 QString strSortOderMov = confSort->readEntry( CONFIG_ENTRY_SORT_ORDER_LOGVIEW_MOVED, DEFAULT_SORT_ORDER );
00168 int sortColumnMov = confSort->readEntry( CONFIG_ENTRY_SORT_COLUMN_LOGVIEW_MOVED, DEFAULT_SORT_COLUMN_LOGVIEW_MOVED );
00169 if( strSortOderMov == CONFIG_VALUE_SORT_ORDER_DESCENDING ) {
00170
00171 viewMoved->sortByColumn( sortColumnMov, Qt::DescendingOrder );
00172
00173 } else {
00174
00175 viewMoved->sortByColumn( sortColumnMov, Qt::AscendingOrder );
00176 }
00177
00178 }
00179
00180
00181 #include "filterlogview.moc"