]> git.sven.stormbind.net Git - sven/vym.git/blobdiff - taskeditor.cpp
New upstream version 2.9.22
[sven/vym.git] / taskeditor.cpp
diff --git a/taskeditor.cpp b/taskeditor.cpp
deleted file mode 100644 (file)
index a6f6919..0000000
+++ /dev/null
@@ -1,286 +0,0 @@
-#include "taskeditor.h"
-
-#include <QAbstractTableModel>
-#include <QAction>
-#include <QDebug>
-#include <QHeaderView>
-#include <QMenu>
-#include <QSortFilterProxyModel>
-#include <QTextEdit>
-#include <QToolBar>
-#include <QVBoxLayout>
-
-#include "branchitem.h"
-#include "mainwindow.h"
-#include "task.h"
-#include "taskmodel.h"
-#include "vymmodel.h"
-
-extern Main *mainWindow;
-extern Settings settings;
-extern QMenu* taskContextMenu;
-extern TaskModel* taskModel;
-
-TaskEditor::TaskEditor(QWidget *)
-{
-    // Creat Table view
-    view = new QTableView; 
-
-    QVBoxLayout* mainLayout = new QVBoxLayout;
-
-    QToolBar *tb=new QToolBar ("TaskEditor filters");
-    tb->setToolButtonStyle (Qt::ToolButtonTextBesideIcon);
-    mainLayout->addWidget (tb);
-
-    // Original icon from KDE: /usr/share/icons/oxygen/16x16/actions/view-filter.png
-
-    QIcon icon=QIcon (":/view-filter.png");
-    QAction *a = new QAction(icon,  tr( "Current map","TaskEditor" ),this );
-    a->setCheckable(true);
-    a->setChecked  (settings.value("/taskeditor/filterMap", false).toBool());
-    tb->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT(toggleFilterMap() ) );
-    actionToggleFilterMap = a;
-
-    a = new QAction(icon,  tr( "Active tasks","TaskEditor" ),this );
-    a->setCheckable(true);
-    a->setChecked  (settings.value("/taskeditor/filterActive", false).toBool());
-    tb->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT(toggleFilterActive() ) );
-    actionToggleFilterActive = a;
-
-    a = new QAction(icon,  tr( "New tasks","TaskEditor" ),this );
-    a->setCheckable(true);
-    a->setChecked  (settings.value("/taskeditor/filterNew", false).toBool());
-    tb->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT(toggleFilterNew() ) );
-    actionToggleFilterNew = a;
-
-    a = new QAction(icon,  "Flag", this); //tr( "Flags","TaskEditor" ),this );   // FIXME-1 add translation
-    a->setCheckable(true);
-    a->setChecked  (settings.value("/taskeditor/filterNew", false).toBool());
-    if (settings.value( "/mainwindow/showTestMenu",false).toBool())
-        tb->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT(toggleFilterFlags() ) );
-    actionToggleFilterFlags = a;
-
-    // Forward Enter and Return to MapEditor
-    a = new QAction(icon, tr( "Edit heading","TaskEditor" ), this);
-    a->setShortcut ( Qt::Key_Return);          
-    a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    addAction (a);
-    connect( a, SIGNAL( triggered() ), mainWindow, SLOT( editHeading() ) );
-    a = new QAction( tr( "Edit heading","TaskEditor" ), this);
-    a->setShortcut ( Qt::Key_Enter);                   
-    a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    addAction (a);
-    connect( a, SIGNAL( triggered() ), mainWindow, SLOT( editHeading() ) );
-
-    // Clone actions defined in MainWindow
-    foreach (QAction* qa, mainWindow->taskEditorActions)
-    {
-        a = new QAction( this );
-        a->setShortcut( qa->shortcut() );
-        a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-        connect( a, SIGNAL( triggered() ), qa, SLOT( trigger() ) );
-        addAction(a);
-    }
-
-    mainLayout->addWidget (view);
-    setLayout (mainLayout);
-
-    view->setSelectionBehavior(QAbstractItemView::SelectRows);
-    view->horizontalHeader()->setStretchLastSection(true);
-    view->verticalHeader()->hide();
-    view->setEditTriggers(QAbstractItemView::NoEditTriggers);
-
-    filterActiveModel = new TaskFilterModel;
-    filterActiveModel->setSourceModel(taskModel);
-
-    view->setModel (filterActiveModel);
-    view->setSortingEnabled(true);
-    view->horizontalHeader()->setSortIndicator (0,Qt::AscendingOrder);
-
-    blockExternalSelect=false;
-
-    connect (
-       view->selectionModel(),SIGNAL (selectionChanged (QItemSelection,QItemSelection)),
-       this, SLOT (selectionChanged (QItemSelection,QItemSelection)));
-    
-    // layout changes trigger resorting
-    connect( taskModel, SIGNAL( layoutChanged() ), this, SLOT(sort() ) );
-
-    // Enable wordwrap when data changes
-    connect ( 
-        taskModel, SIGNAL( dataChanged( QModelIndex, QModelIndex)),
-        view, SLOT( resizeRowsToContents() ) );
-    connect ( 
-        view->horizontalHeader(), SIGNAL( sectionResized(int, int, int)),
-        view, SLOT( resizeRowsToContents() ) );
-
-
-    // Initialize view filters according to previous settings
-    setFilterMap();
-    setFilterActive();
-    setFilterNew();
-    setFilterFlags();
-
-    // Initialize column widths
-    QString s;
-    for (int i=0; i<6; i++)
-    {
-       s=QString("/taskeditor/columnWidth/%1").arg(i);
-       if (settings.contains (s) )
-           view->setColumnWidth (i, settings.value(s, 100).toInt() );
-    }
-
-    // Initialize display of parents of a task
-    bool ok;
-    int i=settings.value ("/taskeditor/showParentsLevel", 0).toInt(&ok);
-    if (ok) taskModel->setShowParentsLevel(i);
-
-}
-
-TaskEditor::~TaskEditor()
-{
-    settings.setValue ("/taskeditor/filterMap",actionToggleFilterMap->isChecked());
-    settings.setValue ("/taskeditor/filterActive",actionToggleFilterActive->isChecked());
-    settings.setValue ("/taskeditor/filterNew",actionToggleFilterNew->isChecked());
-    settings.setValue ("/taskeditor/showParentsLevel",taskModel->getShowParentsLevel() );
-    for (int i=0; i<7; i++)
-       settings.setValue (QString("/taskeditor/columnWidth/%1").arg(i),view->columnWidth(i) );
-}
-
-void TaskEditor::setMapName (const QString &n)
-{
-    currentMapName=n;
-    setFilterMap();
-}
-
-bool TaskEditor::isUsedFilterMap()
-{
-    return actionToggleFilterMap->isChecked();
-}
-
-void TaskEditor::setFilterMap () 
-{
-    if (isUsedFilterMap() )
-        filterActiveModel->setMapFilter(currentMapName);
-    else
-        filterActiveModel->setMapFilter(QString() );
-    sort();
-}
-
-bool TaskEditor::isUsedFilterActive()
-{
-    return actionToggleFilterActive->isChecked();
-}
-
-void TaskEditor::setFilterActive () 
-{
-    filterActiveModel->setFilter (actionToggleFilterActive->isChecked() );   
-    sort();    
-}
-
-void TaskEditor::setFilterNew ()
-{
-    filterActiveModel->setFilterNew (actionToggleFilterNew->isChecked() );
-    sort();
-}
-
-void TaskEditor::setFilterFlags ()  // FIXME-1 experimental
-{
-    filterActiveModel->setFilterFlags (actionToggleFilterFlags->isChecked() );
-    sort();
-}
-
-void TaskEditor::showSelection()
-{
-    QModelIndexList list=view->selectionModel()->selectedIndexes();
-    if (list.count()>0)
-       // Usually whole row is selected, so just go for first cell
-       view->scrollTo(taskModel->index(taskModel->getTask(list.first())), QAbstractItemView::EnsureVisible);
-}
-
-bool TaskEditor::select (Task *task)   
-{
-    if (task)
-    {
-       blockExternalSelect=true;
-       QModelIndex i0b=taskModel->index (task); 
-       QModelIndex i0e=taskModel->indexRowEnd (task); 
-
-       QModelIndex i1b=filterActiveModel->mapFromSource(i0b ); 
-       QModelIndex i1e=filterActiveModel->mapFromSource(i0e ); 
-
-       QItemSelection sel (i1b, i1e);
-
-       view->selectionModel()->select (sel, QItemSelectionModel::ClearAndSelect  );
-       blockExternalSelect=false;
-       return true;
-    }
-    return false;
-}
-
-void TaskEditor::clearSelection()
-{
-    view->selectionModel()->clearSelection();
-}
-
-void TaskEditor::selectionChanged ( const QItemSelection & selected, const QItemSelection & )
-{// FIXME-3 what, if multiple selection in MapEditor?
-    // Avoid segfault on quit, when selected is empty
-    if (selected.indexes().isEmpty() ) return;
-
-    QItemSelection sel0=filterActiveModel->mapSelectionToSource (selected);
-    QModelIndex ix=sel0.indexes().first();
-    Task *t=taskModel->getTask (ix);
-    if (t) 
-    {
-       BranchItem *bi=t->getBranch();
-       if (bi) 
-       {
-           VymModel *m=bi->getModel();
-           if (!blockExternalSelect) m->select (bi);
-           if (m!=mainWindow->currentModel() )
-               mainWindow->gotoModel (m);
-           view->setStyleSheet( 
-           QString ("selection-color: %1;" 
-                    "selection-background-color: %2;").arg(bi->getHeadingColor().name() ).arg(m->getSelectionColor().name() ) );
-           view->scrollTo (selected.indexes().first() );   
-       }
-    }
-}
-
-void TaskEditor::contextMenuEvent ( QContextMenuEvent * e )
-{
-    taskContextMenu->popup (e->globalPos() );
-}
-
-void TaskEditor::sort()
-{
-    QHeaderView *hv=view->horizontalHeader();
-    view->sortByColumn( hv->sortIndicatorSection(), hv->sortIndicatorOrder() );
-    filterActiveModel->invalidate();   
-
-}
-
-void TaskEditor::toggleFilterMap ()
-{
-    setFilterMap ();
-}
-
-void TaskEditor::toggleFilterActive ()
-{
-    setFilterActive();
-
-}
-void TaskEditor::toggleFilterNew ()
-{
-    setFilterNew();
-}
-
-void TaskEditor::toggleFilterFlags ()
-{
-    setFilterFlags();
-}