annotate filestatuswidget.h @ 182:bf366e0b9050

* Fix "Serve by HTTP"; stub out "Change Remote Location"
author Chris Cannam
date Fri, 17 Dec 2010 10:01:02 +0000
parents 5c262ac73948
children 6c15700f4103
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@163 67 QStringList getSelectedUnresolvedFiles() const;
Chris@163 68 QStringList getAllUnresolvedFiles() const;
Chris@163 69
Chris@95 70 signals:
Chris@95 71 void selectionChanged();
Chris@94 72
Chris@94 73 public slots:
Chris@94 74 void clearSelections();
Chris@94 75
Chris@95 76 private slots:
Chris@95 77 void itemSelectionChanged();
Chris@95 78
Chris@88 79 private:
Chris@88 80 QString m_localPath;
Chris@88 81 QLabel *m_localPathLabel;
Chris@88 82
Chris@88 83 QString m_remoteURL;
Chris@88 84 QLabel *m_remoteURLLabel;
Chris@106 85
Chris@115 86 QString m_state;
Chris@115 87 QLabel *m_stateLabel;
Chris@115 88
Chris@115 89 QLabel *m_noModificationsLabel;
Chris@106 90
Chris@92 91 FileStates m_fileStates;
Chris@100 92 QMap<FileStates::State, QString> m_simpleLabels;
Chris@100 93 QMap<FileStates::State, QString> m_descriptions;
Chris@94 94 QMap<FileStates::State, QListWidget *> m_stateListMap;
Chris@100 95 QString m_highlightExplanation;
Chris@88 96
Chris@93 97 QFileInfo *m_dateReference;
Chris@95 98 QStringList m_selectedFiles;
Chris@93 99
Chris@88 100 void updateWidgets();
Chris@115 101 void updateStateLabel();
Chris@100 102 QString labelFor(FileStates::State, bool addHighlightExplanation = false);
Chris@100 103 void setLabelFor(QWidget *w, FileStates::State, bool addHighlightExplanation);
Chris@88 104 };
Chris@88 105
Chris@88 106 #endif