view DataController.hpp @ 2:2833b7f8884a

Sql backend is working. Need to get more speed on comparisson.
author Tom Fredrik Blenning Klaussen <bfg@blenning.no>
date Tue, 21 Aug 2012 14:25:33 +0200
parents aae83c0a771d
children f489b0c9bf99
line wrap: on
line source

#ifndef DATACONTROLLER_HPP
#define DATACONTROLLER_HPP

#include <QtCore/QObject>
#include <QtCore/QDir>

#include "FileDBLink.hpp"

class QMainWindow;
class QTreeWidget;
class QTreeWidgetItem;
class QAction;
class QSpinBox;
class QTimer;

class DataController : QObject {
private:
  Q_OBJECT

  public:
  DataController();
  ~DataController();

  void findFiles(const QDir& dir, FileDBLink& dblink);
  static void findFiles(const QDir& dir, QStringList& list);
  static QStringList findFiles(const QDir& dir);

  void setDir(const QDir& dir);			       

public slots:
  //void cellClicked(int row, int column);
  void cellDoubleClicked(int row, int column);
  bool toggleShowFullPath();
  void setShowFullPath(bool);
  void populate();
  void delayPopulate();


signals:
  void populateProgress(int);

private:
  void populate(bool showNameDups, bool showSizeDups,
		bool showMTimeDups, bool showCheckSumDups,
		float editDistanceCutoff);

  QTreeWidgetItem* createItem(const FileDBLink::DBInfo& info);

  bool showFullPath;
  QMainWindow* mw;
  QTreeWidget* tw;

  FileDBLink* dblink;

  QAction* nameFilter;
  QAction* sizeFilter;
  QAction* mtimeFilter;
  QAction* checksumFilter;
  QSpinBox* editCutoffSpin;

  QTimer* populateDelay;

  QDir dir;
};

#endif //DATACONTROLLER_HPP