annotate filestatuswidget.h @ 145:644bd31e8301

* Include the uncommitted item in general graph layout (in case it is not at the head, when other items will need to avoid it)
author Chris Cannam
date Wed, 01 Dec 2010 17:41:14 +0000
parents 78374cefa10f
children 5c262ac73948
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@115 27 class QPushButton;
Chris@93 28 class QFileInfo;
Chris@88 29
Chris@88 30 class FileStatusWidget : public QWidget
Chris@88 31 {
Chris@88 32 Q_OBJECT
Chris@88 33
Chris@88 34 public:
Chris@88 35 FileStatusWidget(QWidget *parent = 0);
Chris@93 36 ~FileStatusWidget();
Chris@88 37
Chris@88 38 QString localPath() const { return m_localPath; }
Chris@88 39 void setLocalPath(QString p);
Chris@88 40
Chris@88 41 QString remoteURL() const { return m_remoteURL; }
Chris@88 42 void setRemoteURL(QString u);
Chris@88 43
Chris@115 44 QString state() const { return m_state; }
Chris@115 45 void setState(QString b);
Chris@106 46
Chris@92 47 FileStates fileStates() const { return m_fileStates; }
Chris@92 48 void setFileStates(FileStates sp);
Chris@88 49
Chris@95 50 bool haveChangesToCommit() const;
Chris@95 51 bool haveSelection() const;
Chris@90 52
Chris@95 53 QStringList getAllSelectedFiles() const;
Chris@103 54
Chris@95 55 QStringList getSelectedCommittableFiles() const;
Chris@103 56 QStringList getAllCommittableFiles() const;
Chris@103 57
Chris@109 58 QStringList getSelectedRevertableFiles() const;
Chris@109 59 QStringList getAllRevertableFiles() const;
Chris@109 60
Chris@95 61 QStringList getSelectedAddableFiles() const;
Chris@103 62 QStringList getAllAddableFiles() const;
Chris@103 63
Chris@95 64 QStringList getSelectedRemovableFiles() const;
Chris@103 65 QStringList getAllRemovableFiles() const;
Chris@95 66
Chris@95 67 signals:
Chris@95 68 void selectionChanged();
Chris@94 69
Chris@94 70 public slots:
Chris@94 71 void clearSelections();
Chris@94 72
Chris@95 73 private slots:
Chris@95 74 void itemSelectionChanged();
Chris@95 75
Chris@88 76 private:
Chris@88 77 QString m_localPath;
Chris@88 78 QLabel *m_localPathLabel;
Chris@88 79
Chris@88 80 QString m_remoteURL;
Chris@88 81 QLabel *m_remoteURLLabel;
Chris@106 82
Chris@115 83 QString m_state;
Chris@115 84 QLabel *m_stateLabel;
Chris@115 85
Chris@115 86 QLabel *m_noModificationsLabel;
Chris@106 87
Chris@92 88 FileStates m_fileStates;
Chris@100 89 QMap<FileStates::State, QString> m_simpleLabels;
Chris@100 90 QMap<FileStates::State, QString> m_descriptions;
Chris@94 91 QMap<FileStates::State, QListWidget *> m_stateListMap;
Chris@100 92 QString m_highlightExplanation;
Chris@88 93
Chris@93 94 QFileInfo *m_dateReference;
Chris@95 95 QStringList m_selectedFiles;
Chris@93 96
Chris@88 97 void updateWidgets();
Chris@115 98 void updateStateLabel();
Chris@100 99 QString labelFor(FileStates::State, bool addHighlightExplanation = false);
Chris@100 100 void setLabelFor(QWidget *w, FileStates::State, bool addHighlightExplanation);
Chris@88 101 };
Chris@88 102
Chris@88 103 #endif