annotate hgexpwidget.h @ 88:c5e34ed5b791

* Start work on new file-status widget
author Chris Cannam
date Tue, 23 Nov 2010 11:33:15 +0000
parents 89f793fbedda
children b43355c2473a
rev   line source
Chris@57 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@57 2
Chris@57 3 /*
Chris@57 4 EasyMercurial
Chris@57 5
Chris@57 6 Based on HgExplorer by Jari Korhonen
Chris@57 7 Copyright (c) 2010 Jari Korhonen
Chris@57 8 Copyright (c) 2010 Chris Cannam
Chris@57 9 Copyright (c) 2010 Queen Mary, University of London
Chris@57 10
Chris@57 11 This program is free software; you can redistribute it and/or
Chris@57 12 modify it under the terms of the GNU General Public License as
Chris@57 13 published by the Free Software Foundation; either version 2 of the
Chris@57 14 License, or (at your option) any later version. See the file
Chris@57 15 COPYING included with this distribution for more information.
Chris@57 16 */
Chris@57 17
jtkorhonen@0 18 #ifndef HGEXPWIDGET_H
jtkorhonen@0 19 #define HGEXPWIDGET_H
jtkorhonen@0 20
Chris@43 21 #include "changeset.h"
jtkorhonen@0 22 #include "common.h"
Chris@86 23 #include "statparser.h"
jtkorhonen@0 24
Chris@50 25 #include <QMenu>
Chris@50 26 #include <QListWidget>
Chris@50 27 #include <QGroupBox>
Chris@50 28 #include <QVBoxLayout>
Chris@50 29 #include <QCheckBox>
Chris@50 30 #include <QLabel>
Chris@88 31 #include <QTabWidget>
Chris@86 32
jtkorhonen@0 33 #define NUM_STAT_FILE_TYPES 7
jtkorhonen@0 34
Chris@88 35 class FileStatusWidget;
Chris@88 36
jtkorhonen@0 37
jtkorhonen@0 38 class HgExpWidget: public QTabWidget
jtkorhonen@0 39 {
jtkorhonen@0 40 Q_OBJECT
jtkorhonen@0 41
jtkorhonen@0 42 public:
jtkorhonen@0 43 HgExpWidget(QWidget *parent, QString remoteRepo, QString workFolderPath,
jtkorhonen@0 44 unsigned char viewFileTypesBits = DEFAULT_HG_STAT_BITS);
jtkorhonen@0 45 void updateWorkFolderFileList(QString fileList);
jtkorhonen@0 46 void updateLocalRepoHeadsList(QString headList);
jtkorhonen@0 47 void updateLocalRepoHgLogList(QString hgLogList);
jtkorhonen@0 48 void updateLocalRepoParentsList(QString parentsList);
jtkorhonen@0 49 void setWorkFolderAndRepoNames(QString workFolderPath, QString remoteRepoPath);
jtkorhonen@0 50 QString getCurrentFileListLine();
jtkorhonen@0 51 void getHistoryDiffRevisions(QString& revA, QString& revB);
jtkorhonen@0 52 void getUpdateToRevRevision(QString& rev);
jtkorhonen@0 53 void clearLists();
jtkorhonen@32 54 void enableDisableOtherTabs(int tabPage);
jtkorhonen@0 55 QString getStatFlags(void);
jtkorhonen@0 56 unsigned char getFileTypesBits();
jtkorhonen@0 57
jtkorhonen@0 58
jtkorhonen@0 59 QListWidget *workFolderFileList;
jtkorhonen@0 60 QListWidget *localRepoHeadsList;
jtkorhonen@0 61 QListWidget *localRepoHgLogList;
jtkorhonen@0 62
jtkorhonen@0 63 signals:
jtkorhonen@0 64 void workFolderViewTypesChanged();
jtkorhonen@0 65
jtkorhonen@32 66 private slots:
jtkorhonen@32 67 void copyComment();
jtkorhonen@32 68
jtkorhonen@0 69 private:
Chris@88 70 FileStatusWidget *fileStatusWidget;
Chris@88 71
jtkorhonen@0 72 QGroupBox *grpRemoteRepo;
jtkorhonen@0 73 QWidget *workPageWidget;
Chris@43 74 QWidget *historyGraphPageWidget;
cannam@45 75 QWidget *historyGraphWidget;
cannam@45 76 QWidget *historyGraphPanner;
jtkorhonen@0 77 QWidget *historyPageWidget;
jtkorhonen@0 78 QWidget *headsPageWidget;
jtkorhonen@0 79
jtkorhonen@0 80 QGroupBox *grpLocalRepo;
jtkorhonen@0 81 QVBoxLayout *mainLayout;
jtkorhonen@0 82 QVBoxLayout *localRepoLayout;
jtkorhonen@0 83 QVBoxLayout *parentsLayout;
jtkorhonen@0 84 QListWidget *localRepoHgParentsList;
jtkorhonen@0 85 QLabel *parentsLabel;
jtkorhonen@32 86 QMenu *userListMenu;
jtkorhonen@32 87 QAction *copyCommentAct;
jtkorhonen@0 88
jtkorhonen@0 89 QGroupBox *grpWorkFolder;
jtkorhonen@0 90 QHBoxLayout *workFolderLayout;
jtkorhonen@0 91 QGroupBox *grpViewFileTypes;
jtkorhonen@0 92 QVBoxLayout *fileTypesLayout;
jtkorhonen@0 93 QCheckBox *chkViewFileTypes[NUM_STAT_FILE_TYPES];
jtkorhonen@0 94
jtkorhonen@0 95 QVBoxLayout *historyLayout;
jtkorhonen@0 96
jtkorhonen@0 97 QVBoxLayout *headsLayout;
jtkorhonen@0 98
Chris@86 99 StatParser statParser;
Chris@86 100
jtkorhonen@0 101 QString findRev(QString itemText, QString& smallRev);
jtkorhonen@0 102 QStringList splitChangeSets(QString chgSetsStr);
Chris@43 103 Changesets parseChangeSets(QString changeSetsStr);
Chris@43 104
jtkorhonen@0 105 int findLineStart(int nowIndex, QString chgSetsStr);
jtkorhonen@32 106 void contextMenuEvent (QContextMenuEvent * event);
jtkorhonen@0 107 };
jtkorhonen@0 108
jtkorhonen@0 109 #endif // HGEXPWIDGET_H