Chris@57: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ Chris@57: Chris@57: /* Chris@57: EasyMercurial Chris@57: Chris@57: Based on HgExplorer by Jari Korhonen Chris@57: Copyright (c) 2010 Jari Korhonen Chris@57: Copyright (c) 2010 Chris Cannam Chris@57: Copyright (c) 2010 Queen Mary, University of London Chris@57: Chris@57: This program is free software; you can redistribute it and/or Chris@57: modify it under the terms of the GNU General Public License as Chris@57: published by the Free Software Foundation; either version 2 of the Chris@57: License, or (at your option) any later version. See the file Chris@57: COPYING included with this distribution for more information. Chris@57: */ Chris@57: jtkorhonen@0: #ifndef COMMON_H jtkorhonen@0: #define COMMON_H jtkorhonen@0: Chris@50: #include jtkorhonen@0: jtkorhonen@0: #define MY_ICON_SIZE 32 jtkorhonen@0: #define REPOMENU_TITLE "Repository actions" jtkorhonen@0: #define WORKFOLDERMENU_TITLE "Workfolder actions" jtkorhonen@0: #define EXITOK(x) ((x)==0) jtkorhonen@0: #define CHGSET "changeset: " jtkorhonen@0: #define REQUIRED_CHGSET_DIFF_COUNT 2 jtkorhonen@0: jtkorhonen@0: #define WORKTAB 0 Chris@58: #define HISTORYTAB 2 Chris@58: #define HEADSTAB 3 jtkorhonen@0: jtkorhonen@0: #define HGSTAT_M_BIT 1U jtkorhonen@0: #define HGSTAT_A_BIT 2U jtkorhonen@0: #define HGSTAT_R_BIT 4U jtkorhonen@0: #define HGSTAT_D_BIT 8U jtkorhonen@0: #define HGSTAT_U_BIT 16U jtkorhonen@0: #define HGSTAT_C_BIT 32U jtkorhonen@0: #define HGSTAT_I_BIT 64U jtkorhonen@0: jtkorhonen@0: #define DEFAULT_HG_STAT_BITS (HGSTAT_M_BIT | HGSTAT_A_BIT | HGSTAT_R_BIT | HGSTAT_D_BIT | HGSTAT_U_BIT) jtkorhonen@0: Chris@62: extern QString findExecutable(QString name); jtkorhonen@0: jtkorhonen@0: extern QString getSystem(); jtkorhonen@0: extern QString getHgDirName(); jtkorhonen@0: Chris@62: extern QString getUserRealName(); Chris@62: Chris@78: extern void loseControllingTerminal(); Chris@78: Chris@105: void installSignalHandlers(); Chris@105: Chris@79: /** Chris@79: * Status used in testing whether a folder argument (received from the Chris@79: * user) is valid for particular uses. Chris@79: */ Chris@79: enum FolderStatus { Chris@79: FolderUnknown, /// Neither the folder nor its parent exists Chris@79: FolderParentExists, /// The folder is absent, but its parent exists Chris@79: FolderExists, /// The folder exists and has no .hg repo in it Chris@79: FolderHasRepo, /// The folder exists and has an .hg repo in it Chris@79: FolderIsFile /// The "folder" is actually a file Chris@79: }; Chris@79: Chris@79: FolderStatus getFolderStatus(QString path); Chris@79: Chris@79: /** Chris@79: * If the given path is somewhere within an existing repository, Chris@79: * return the path of the root directory of the repository (i.e. the Chris@79: * one with .hg in it). Chris@79: * Chris@79: * If the given path is _not_ in a repository, or the given path _is_ Chris@79: * the root directory of a repository, return QString(). Use Chris@79: * getFolderStatus to distinguish between these cases. Chris@79: */ Chris@79: QString getContainingRepoFolder(QString path); Chris@79: Chris@79: QString xmlEncode(QString); Chris@79: Chris@79: jtkorhonen@0: #endif //COMMON_H jtkorhonen@0: jtkorhonen@0: