annotate filestatuswidget.h @ 93:dfb7a274b90f

* Highlight untracked files that are newer than last repo interaction
author Chris Cannam
date Wed, 24 Nov 2010 13:50:33 +0000
parents 06f4fffd5287
children 44ed7766d55a
rev   line source
Chris@88 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@88 2
Chris@88 3 /*
Chris@88 4 EasyMercurial
Chris@88 5
Chris@88 6 Based on HgExplorer by Jari Korhonen
Chris@88 7 Copyright (c) 2010 Jari Korhonen
Chris@88 8 Copyright (c) 2010 Chris Cannam
Chris@88 9 Copyright (c) 2010 Queen Mary, University of London
Chris@88 10
Chris@88 11 This program is free software; you can redistribute it and/or
Chris@88 12 modify it under the terms of the GNU General Public License as
Chris@88 13 published by the Free Software Foundation; either version 2 of the
Chris@88 14 License, or (at your option) any later version. See the file
Chris@88 15 COPYING included with this distribution for more information.
Chris@88 16 */
Chris@88 17
Chris@88 18 #ifndef FILESTATUSWIDGET_H
Chris@88 19 #define FILESTATUSWIDGET_H
Chris@88 20
Chris@92 21 #include "filestates.h"
Chris@88 22
Chris@88 23 #include <QWidget>
Chris@88 24
Chris@88 25 class QLabel;
Chris@88 26 class QListWidget;
Chris@93 27 class QFileInfo;
Chris@88 28
Chris@88 29 class FileStatusWidget : public QWidget
Chris@88 30 {
Chris@88 31 Q_OBJECT
Chris@88 32
Chris@88 33 public:
Chris@88 34 FileStatusWidget(QWidget *parent = 0);
Chris@93 35 ~FileStatusWidget();
Chris@88 36
Chris@88 37 QString localPath() const { return m_localPath; }
Chris@88 38 void setLocalPath(QString p);
Chris@88 39
Chris@88 40 QString remoteURL() const { return m_remoteURL; }
Chris@88 41 void setRemoteURL(QString u);
Chris@88 42
Chris@92 43 FileStates fileStates() const { return m_fileStates; }
Chris@92 44 void setFileStates(FileStates sp);
Chris@88 45
Chris@90 46 bool haveChangesToCommit() const {
Chris@92 47 return !m_fileStates.added.empty() ||
Chris@92 48 !m_fileStates.removed.empty() ||
Chris@92 49 !m_fileStates.modified.empty();
Chris@90 50 }
Chris@90 51
Chris@88 52 private:
Chris@88 53 QString m_localPath;
Chris@88 54 QLabel *m_localPathLabel;
Chris@88 55
Chris@88 56 QString m_remoteURL;
Chris@88 57 QLabel *m_remoteURLLabel;
Chris@88 58
Chris@92 59 FileStates m_fileStates;
Chris@88 60
Chris@88 61 QListWidget *m_modifiedList;
Chris@88 62 QListWidget *m_addedList;
Chris@88 63 QListWidget *m_unknownList;
Chris@88 64 QListWidget *m_removedList;
Chris@88 65 QListWidget *m_missingList;
Chris@88 66
Chris@93 67 QFileInfo *m_dateReference;
Chris@93 68
Chris@88 69 void updateWidgets();
Chris@93 70 void highlightFile(QListWidget *, int);
Chris@88 71 };
Chris@88 72
Chris@88 73 #endif