annotate filestatuswidget.h @ 103:0bd32aedc6f6

* Start to use the confirm-comment dialog for commits; much work still needed
author Chris Cannam
date Wed, 24 Nov 2010 22:44:40 +0000
parents 0dc7305acbc8
children 729438d70af8
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@95 46 bool haveChangesToCommit() const;
Chris@95 47 bool haveSelection() const;
Chris@90 48
Chris@95 49 QStringList getAllSelectedFiles() const;
Chris@103 50
Chris@95 51 QStringList getSelectedCommittableFiles() const;
Chris@103 52 QStringList getAllCommittableFiles() const;
Chris@103 53
Chris@95 54 QStringList getSelectedAddableFiles() const;
Chris@103 55 QStringList getAllAddableFiles() const;
Chris@103 56
Chris@95 57 QStringList getSelectedRemovableFiles() const;
Chris@103 58 QStringList getAllRemovableFiles() const;
Chris@95 59
Chris@95 60 signals:
Chris@95 61 void selectionChanged();
Chris@94 62
Chris@94 63 public slots:
Chris@94 64 void clearSelections();
Chris@94 65
Chris@95 66 private slots:
Chris@95 67 void itemSelectionChanged();
Chris@95 68
Chris@88 69 private:
Chris@88 70 QString m_localPath;
Chris@88 71 QLabel *m_localPathLabel;
Chris@88 72
Chris@88 73 QString m_remoteURL;
Chris@88 74 QLabel *m_remoteURLLabel;
Chris@88 75
Chris@92 76 FileStates m_fileStates;
Chris@100 77 QMap<FileStates::State, QString> m_simpleLabels;
Chris@100 78 QMap<FileStates::State, QString> m_descriptions;
Chris@94 79 QMap<FileStates::State, QListWidget *> m_stateListMap;
Chris@100 80 QString m_highlightExplanation;
Chris@88 81
Chris@93 82 QFileInfo *m_dateReference;
Chris@95 83 QStringList m_selectedFiles;
Chris@93 84
Chris@88 85 void updateWidgets();
Chris@100 86 QString labelFor(FileStates::State, bool addHighlightExplanation = false);
Chris@100 87 void setLabelFor(QWidget *w, FileStates::State, bool addHighlightExplanation);
Chris@88 88 };
Chris@88 89
Chris@88 90 #endif