Every time I push some changes, I have to type my password again
-
If you are working with other people on a project, it is likely that
-at some point you'll find that more than one of you have edited the
-same lines in the same file, in different ways.
+
When you push to a remote repository with an “https:" prefix on its
+URL, EasyMercurial's password dialog should ask whether you want to
+remember your login details.
-
When that happens and you try to merge the two versions, EasyMercurial
-will pop up a merge window that looks a bit like this.
+
If you say yes, the details will be stored until EasyMercurial
+exits—so you won't have to enter them if you push or pull again
+while the present EasyMercurial session is running. Your password will
+be stored, encrypted with a session key, in a file which is deleted
+when EasyMercurial exits.
-
+
If this option does not appear
-
(This is actually a separate program, not part of EasyMercurial: it's
-a merge tool called kdiff3.)
+
... and if you're using OS/X, then you need to install the PyCrypto
+library before EasyMercurial will be able to store encrypted passwords
+for you.
-
This looks a bit complicated, but it is there to help you pick which
-of the changes from each of the two “rival” versions of the file you
-want to use in your merged version.
+
Try running sudo easy_install pycrypto in a terminal window.
-
The top middle one is your current version. That's
- the one you had before you decided to merge the other version into
- it.
+
Not using an https repository?
-
At top right is the version you're merging. That's the other
- rival version – the one that the other person can see in their copy
- of the repository.
+
If your remote repository uses ssh or some other protocol, then
+EasyMercurial won't be able to help. You might consider using ssh
+public key authentication and an ssh agent—talk to the admin of your
+remote repository for more details.
-
At top left is the common ancestor. That's the version that both
- of you had, before you started editing it in different ways.
-
-
At the bottom is the output.
-
-
Each conflict (a line which you have both changed in different ways)
-is shown with Merge Conflict in the output at the bottom. To sort
-out the conflicts and get the right output, you need to go through
-them one by one, for each one pressing the A, B, or C button to say
-whether for this line you want the top-left, top-middle, or top-right
-version to “win”. (You can choose more than one, if you want both
-versions of a line to appear.)
-
-
Then having resolved a conflict, press the three-arrows-down toolbar
-button to go to the next one – and when you've done them all, save
-and exit.
-
-
The most important thing to remember is that whatever appears in the
-bottom pane is what you'll get as a result.
-
-
No matter how confusing the process, just remember that if it looks
-correct in the bottom pane, it will be correct when you save and
-exit. You can even edit the file directly in the bottom pane if you
-aren't happy with the way the merge is going.
If you are working with other people on a project, it is likely that
+at some point you'll find that more than one of you have edited the
+same lines in the same file, in different ways.
+
+
When that happens and you try to merge the two versions, EasyMercurial
+will pop up a merge window that looks a bit like this.
+
+
+
+
(This is actually a separate program, not part of EasyMercurial: it's
+a merge tool called kdiff3.)
+
+
This looks a bit complicated, but it is there to help you pick which
+of the changes from each of the two “rival” versions of the file you
+want to use in your merged version.
+
+
The top middle one is your current version. That's
+ the one you had before you decided to merge the other version into
+ it.
+
+
At top right is the version you're merging. That's the other
+ rival version – the one that the other person can see in their copy
+ of the repository.
+
+
At top left is the common ancestor. That's the version that both
+ of you had, before you started editing it in different ways.
+
+
At the bottom is the output.
+
+
Each conflict (a line which you have both changed in different ways)
+is shown with Merge Conflict in the output at the bottom. To sort
+out the conflicts and get the right output, you need to go through
+them one by one, for each one pressing the A, B, or C button to say
+whether for this line you want the top-left, top-middle, or top-right
+version to “win”. (You can choose more than one, if you want both
+versions of a line to appear.)
+
+
Then having resolved a conflict, press the three-arrows-down toolbar
+button to go to the next one – and when you've done them all, save
+and exit.
+
+
The most important thing to remember is that whatever appears in the
+bottom pane is what you'll get as a result.
+
+
No matter how confusing the process, just remember that if it looks
+correct in the bottom pane, it will be correct when you save and
+exit. You can even edit the file directly in the bottom pane if you
+aren't happy with the way the merge is going.
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e help/topics/34.txt
--- a/help/topics/34.txt Tue Feb 14 17:53:29 2012 +0000
+++ b/help/topics/34.txt Mon Mar 12 14:58:40 2012 +0000
@@ -1,56 +1,28 @@
{Sharing changes}
-How do I use the Merge window?
+Every time I push some changes, I have to type my password again
-If you are working with other people on a project, it is likely that
-at some point you'll find that more than one of you have edited the
-same lines in the same file, in different ways.
+When you push to a remote repository with an "https:" prefix on its
+URL, EasyMercurial's password dialog should ask whether you want to
+remember your login details.
-When that happens and you try to merge the two versions, EasyMercurial
-will pop up a merge window that looks a bit like this.
+If you say yes, the details will be stored until EasyMercurial
+exits---so you won't have to enter them if you push or pull again
+while the present EasyMercurial session is running. Your password will
+be stored, encrypted with a session key, in a file which is deleted
+when EasyMercurial exits.
-#merge50
+*If this option does not appear*
-(This is actually a separate program, not part of EasyMercurial: it's
-a merge tool called kdiff3.)
+... and if you're using OS/X, then you need to install the PyCrypto
+library before EasyMercurial will be able to store encrypted passwords
+for you.
-This looks a bit complicated, but it is there to help you pick which
-of the changes from each of the two "rival" versions of the file you
-want to use in your merged version.
+Try running @sudo easy_install pycrypto@ in a terminal window.
- *The top middle one is _your current version_.* That's
- the one you had before you decided to merge the other version into
- it.
+*Not using an https repository?*
- *At top right is _the version you're merging_.* That's the other
- rival version -- the one that the other person can see in their copy
- of the repository.
-
- *At top left is _the common ancestor_.* That's the version that both
- of you had, before you started editing it in different ways.
-
- *At the bottom is the output.*
-
-Each _conflict_ (a line which you have both changed in different ways)
-is shown with *Merge Conflict* in the output at the bottom. To sort
-out the conflicts and get the right output, you need to go through
-them one by one, for each one pressing the A, B, or C button to say
-whether for this line you want the top-left, top-middle, or top-right
-version to "win". (You can choose more than one, if you want both
-versions of a line to appear.)
-
-Then having resolved a conflict, press the three-arrows-down toolbar
-button to go to the next one -- and when you've done them all, save
-and exit.
-
-The most important thing to remember is that _whatever appears in the
-bottom pane is what you'll get as a result_.
-
-No matter how confusing the process, just remember that if it looks
-correct in the bottom pane, it will be correct when you save and
-exit. You can even edit the file directly in the bottom pane if you
-aren't happy with the way the merge is going.
-
-
-
-
+If your remote repository uses ssh or some other protocol, then
+EasyMercurial won't be able to help. You might consider using ssh
+public key authentication and an ssh agent---talk to the admin of your
+remote repository for more details.
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e help/topics/35.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/help/topics/35.txt Mon Mar 12 14:58:40 2012 +0000
@@ -0,0 +1,56 @@
+{Sharing changes}
+
+How do I use the Merge window?
+
+If you are working with other people on a project, it is likely that
+at some point you'll find that more than one of you have edited the
+same lines in the same file, in different ways.
+
+When that happens and you try to merge the two versions, EasyMercurial
+will pop up a merge window that looks a bit like this.
+
+#merge50
+
+(This is actually a separate program, not part of EasyMercurial: it's
+a merge tool called kdiff3.)
+
+This looks a bit complicated, but it is there to help you pick which
+of the changes from each of the two "rival" versions of the file you
+want to use in your merged version.
+
+ *The top middle one is _your current version_.* That's
+ the one you had before you decided to merge the other version into
+ it.
+
+ *At top right is _the version you're merging_.* That's the other
+ rival version -- the one that the other person can see in their copy
+ of the repository.
+
+ *At top left is _the common ancestor_.* That's the version that both
+ of you had, before you started editing it in different ways.
+
+ *At the bottom is the output.*
+
+Each _conflict_ (a line which you have both changed in different ways)
+is shown with *Merge Conflict* in the output at the bottom. To sort
+out the conflicts and get the right output, you need to go through
+them one by one, for each one pressing the A, B, or C button to say
+whether for this line you want the top-left, top-middle, or top-right
+version to "win". (You can choose more than one, if you want both
+versions of a line to appear.)
+
+Then having resolved a conflict, press the three-arrows-down toolbar
+button to go to the next one -- and when you've done them all, save
+and exit.
+
+The most important thing to remember is that _whatever appears in the
+bottom pane is what you'll get as a result_.
+
+No matter how confusing the process, just remember that if it looks
+correct in the bottom pane, it will be correct when you save and
+exit. You can even edit the file directly in the bottom pane if you
+aren't happy with the way the merge is going.
+
+
+
+
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e help/topics/40.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/help/topics/40.txt Mon Mar 12 14:58:40 2012 +0000
@@ -0,0 +1,8 @@
+{See also}
+
+Video tutorials
+
+There are some very simple video tutorials available on the EasyMercurial website.
+
+Please see [[http://easyhg.org/videos.html]].
+
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e images/cancel-small.png
Binary file images/cancel-small.png has changed
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e images/crappy-icon-design.xcf
Binary file images/crappy-icon-design.xcf has changed
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e images/crappy-icon.png
Binary file images/crappy-icon.png has changed
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e images/easyhg-icon-128.png
Binary file images/easyhg-icon-128.png has changed
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e images/easyhg-icon-16.png
Binary file images/easyhg-icon-16.png has changed
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e images/easyhg-icon-192.png
Binary file images/easyhg-icon-192.png has changed
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e images/easyhg-icon-22.png
Binary file images/easyhg-icon-22.png has changed
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e images/easyhg-icon-24.png
Binary file images/easyhg-icon-24.png has changed
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e images/easyhg-icon-256.png
Binary file images/easyhg-icon-256.png has changed
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e images/easyhg-icon-32.png
Binary file images/easyhg-icon-32.png has changed
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e images/easyhg-icon-48.png
Binary file images/easyhg-icon-48.png has changed
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e images/easyhg-icon-64.png
Binary file images/easyhg-icon-64.png has changed
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e images/easyhg-icon.png
Binary file images/easyhg-icon.png has changed
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e images/easyhg-icon.svg
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/images/easyhg-icon.svg Mon Mar 12 14:58:40 2012 +0000
@@ -0,0 +1,140 @@
+
+
+
+
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/annotatedialog.cpp
--- a/src/annotatedialog.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/annotatedialog.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on hgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/annotatedialog.h
--- a/src/annotatedialog.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/annotatedialog.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on hgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/changeset.cpp
--- a/src/changeset.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/changeset.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/changeset.h
--- a/src/changeset.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/changeset.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/changesetdetailitem.cpp
--- a/src/changesetdetailitem.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/changesetdetailitem.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/changesetdetailitem.h
--- a/src/changesetdetailitem.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/changesetdetailitem.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/changesetitem.cpp
--- a/src/changesetitem.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/changesetitem.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -38,7 +38,7 @@
ChangesetItem::ChangesetItem(Changeset *cs) :
m_changeset(cs), m_detail(0),
m_showBranch(false), m_column(0), m_row(0), m_wide(false),
- m_current(false), m_closing(false), m_new(false)
+ m_current(false), m_closing(false), m_new(false), m_searchMatches(false)
{
m_font = QFont();
m_font.setPixelSize(11);
@@ -91,6 +91,22 @@
emit detailHidden();
}
+bool
+ChangesetItem::matchSearchText(QString text)
+{
+ m_searchText = text;
+ m_searchMatches = false;
+ if (m_showBranch) {
+ m_searchMatches = (m_changeset->branch().contains
+ (text, Qt::CaseInsensitive));
+ }
+ if (!m_searchMatches) {
+ m_searchMatches = (m_changeset->comment().contains
+ (text, Qt::CaseInsensitive));
+ }
+ return m_searchMatches;
+}
+
void
ChangesetItem::mousePressEvent(QGraphicsSceneMouseEvent *e)
{
@@ -296,6 +312,17 @@
bool showText = (scale >= 0.2);
bool showProperLines = (scale >= 0.1);
+ if (m_searchText != "") {
+ if (m_searchMatches) {
+ userColour = QColor("#008400");
+ showProperLines = true;
+ showText = true;
+ } else {
+ branchColour = Qt::gray;
+ userColour = Qt::gray;
+ }
+ }
+
if (!showProperLines) {
paint->setPen(QPen(branchColour, 0));
} else {
@@ -452,6 +479,8 @@
paint->setFont(f);
+ if (m_searchMatches) paint->setPen(userColour);
+
for (int i = 0; i < lines.size(); ++i) {
paint->drawText(x0 + 3, i * fh + fh + fm.ascent(), lines[i].trimmed());
}
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/changesetitem.h
--- a/src/changesetitem.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/changesetitem.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -65,6 +65,8 @@
bool showBranch() const { return m_showBranch; }
void setShowBranch(bool s) { m_showBranch = s; }
+ bool matchSearchText(QString text); // return true and records the match if it matches
+
signals:
void detailShown();
void detailHidden();
@@ -110,6 +112,8 @@
bool m_current;
bool m_closing;
bool m_new;
+ QString m_searchText;
+ bool m_searchMatches;
QMap m_parentDiffActions;
QMap m_summaryActions;
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/changesetscene.cpp
--- a/src/changesetscene.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/changesetscene.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/changesetscene.h
--- a/src/changesetscene.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/changesetscene.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/changesetview.cpp
--- a/src/changesetview.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/changesetview.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/changesetview.h
--- a/src/changesetview.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/changesetview.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/clickablelabel.h
--- a/src/clickablelabel.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/clickablelabel.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/colourset.cpp
--- a/src/colourset.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/colourset.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/colourset.h
--- a/src/colourset.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/colourset.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/common.cpp
--- a/src/common.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/common.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/common.h
--- a/src/common.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/common.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/confirmcommentdialog.cpp
--- a/src/confirmcommentdialog.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/confirmcommentdialog.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on hgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/confirmcommentdialog.h
--- a/src/confirmcommentdialog.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/confirmcommentdialog.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on hgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/connectionitem.cpp
--- a/src/connectionitem.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/connectionitem.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/connectionitem.h
--- a/src/connectionitem.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/connectionitem.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/debug.cpp
--- a/src/debug.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/debug.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/debug.h
--- a/src/debug.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/debug.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/filestates.cpp
--- a/src/filestates.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/filestates.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/filestates.h
--- a/src/filestates.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/filestates.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/filestatuswidget.cpp
--- a/src/filestatuswidget.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/filestatuswidget.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -18,6 +18,7 @@
#include "filestatuswidget.h"
#include "debug.h"
#include "multichoicedialog.h"
+#include "findwidget.h"
#include
#include
@@ -154,9 +155,19 @@
layout->addItem(new QSpacerItem(8, 8), ++row, 0);
- m_showAllFiles = new QCheckBox(tr("Show all files"), this);
+ QWidget *opts = new QWidget;
+ QGridLayout *optLayout = new QGridLayout(opts);
+ optLayout->setMargin(0);
+ layout->addWidget(opts, ++row, 0);
+
+ m_findWidget = new FindWidget(this);
+ optLayout->addWidget(m_findWidget, 0, 0, Qt::AlignLeft);
+ connect(m_findWidget, SIGNAL(findTextChanged(QString)),
+ this, SLOT(setSearchText(QString)));
+
+ m_showAllFiles = new QCheckBox(tr("Show all file states"), this);
m_showAllFiles->setEnabled(false);
- layout->addWidget(m_showAllFiles, ++row, 0, Qt::AlignLeft);
+ optLayout->addWidget(m_showAllFiles, 0, 1, Qt::AlignRight);
QSettings settings;
m_showAllFiles->setChecked(settings.value("showall", false).toBool());
@@ -209,7 +220,16 @@
{
QSettings settings;
settings.beginGroup("Presentation");
- if (settings.value("showhelpfultext", true).toBool()) {
+
+ if (m_searchText != "") {
+ if (!m_showAllFiles->isChecked()) {
+ m_noModificationsLabel->setText
+ (tr("Nothing found None of the modified files have matching filenames. Select Show all file states to find matches among unmodified and untracked files as well."));
+ } else {
+ m_noModificationsLabel->setText
+ (tr("Nothing found No files have matching filenames."));
+ }
+ } else if (settings.value("showhelpfultext", true).toBool()) {
m_noModificationsLabel->setText
(tr("This area will list files in your working folder that you have changed.
At the moment you have no uncommitted changes.
To see changes previously made to the repository, switch to the History tab.
%1")
#if defined Q_OS_MAC
@@ -413,6 +433,14 @@
}
void
+FileStatusWidget::setSearchText(QString text)
+{
+ if (m_searchText == text) return;
+ m_searchText = text;
+ updateWidgets();
+}
+
+void
FileStatusWidget::updateWidgets()
{
QDateTime lastInteractionTime;
@@ -425,6 +453,7 @@
foreach (QString f, m_selectedFiles) selectedFiles.insert(f);
int visibleCount = 0;
+ bool finding = (m_searchText != "");
foreach (FileStates::State s, m_stateListMap.keys()) {
@@ -437,11 +466,22 @@
}
QStringList files = m_fileStates.filesInState(s);
+ bool foundSomething = false;
QStringList highPriority, lowPriority;
foreach (QString file, files) {
+ if (finding) {
+ if (file.contains(m_searchText, Qt::CaseInsensitive)) {
+ highPriority.push_back(file);
+ foundSomething = true;
+ }
+ continue;
+ } else {
+ foundSomething = true;
+ }
+
bool highlighted = false;
if (s == FileStates::Unknown) {
@@ -467,7 +507,11 @@
foreach (QString file, highPriority) {
QListWidgetItem *item = new QListWidgetItem(file);
w->addItem(item);
- item->setForeground(QColor("#d40000"));
+ if (finding) {
+ item->setForeground(QColor("#008400"));
+ } else {
+ item->setForeground(QColor("#d40000"));
+ }
item->setSelected(selectedFiles.contains(file));
}
@@ -479,7 +523,7 @@
setLabelFor(w, s, !highPriority.empty());
- if (files.empty()) {
+ if (!foundSomething) {
w->parentWidget()->hide();
} else {
w->parentWidget()->show();
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/filestatuswidget.h
--- a/src/filestatuswidget.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/filestatuswidget.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -29,6 +29,7 @@
class QPushButton;
class QFileInfo;
class QCheckBox;
+class FindWidget;
class FileStatusWidget : public QWidget
{
@@ -78,6 +79,8 @@
void clearSelections();
void updateWidgets();
+ void setSearchText(QString text);
+
private slots:
void menuActionActivated();
void itemSelectionChanged();
@@ -87,6 +90,7 @@
QString m_localPath;
QLabel *m_noModificationsLabel;
+ FindWidget *m_findWidget;
QCheckBox *m_showAllFiles;
FileStates m_fileStates;
@@ -104,6 +108,8 @@
QList m_boxes;
QWidget *m_boxesParent;
+ QString m_searchText;
+
void layoutBoxesGridly(int count);
void layoutBoxesLinearly();
void setNoModificationsLabelText();
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/findwidget.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/findwidget.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -0,0 +1,76 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ EasyMercurial
+
+ Based on HgExplorer by Jari Korhonen
+ Copyright (c) 2010 Jari Korhonen
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version. See the file
+ COPYING included with this distribution for more information.
+*/
+
+#include "findwidget.h"
+
+#include
+#include
+#include
+#include
+
+FindWidget::FindWidget(QWidget *parent) :
+ QWidget(parent)
+{
+ QGridLayout *layout = new QGridLayout;
+ layout->setMargin(0);
+ setLayout(layout);
+
+ QToolButton *button = new QToolButton();
+ layout->addWidget(button, 0, 0);
+ button->setText(tr("Find..."));
+ button->setToolButtonStyle(Qt::ToolButtonTextOnly);
+ connect(button, SIGNAL(clicked()), this, SLOT(buttonPressed()));
+
+ m_lineEdit = new QLineEdit();
+ layout->addWidget(m_lineEdit, 0, 1);
+
+ m_lineEdit->setFixedWidth(100);
+ m_lineEdit->hide();
+
+ int h = m_lineEdit->sizeHint().height();
+ int h0 = button->sizeHint().height();
+ if (h > h0) button->setFixedHeight(h);
+
+ connect(m_lineEdit, SIGNAL(textChanged(const QString &)),
+ this, SIGNAL(findTextChanged(QString)));
+}
+
+FindWidget::~FindWidget()
+{
+}
+
+void
+FindWidget::buttonPressed()
+{
+ QAbstractButton *button = qobject_cast(sender());
+ if (!button) return;
+ if (m_lineEdit->isVisible()) {
+ m_lineEdit->hide();
+ button->setText(tr("Find..."));
+ if (m_lineEdit->text() != "") {
+ emit findTextChanged("");
+ }
+ } else {
+ m_lineEdit->show();
+ m_lineEdit->setFocus(Qt::OtherFocusReason);
+ button->setText(tr("Find:"));
+ if (m_lineEdit->text() != "") {
+ emit findTextChanged(m_lineEdit->text());
+ }
+ }
+}
+
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/findwidget.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/findwidget.h Mon Mar 12 14:58:40 2012 +0000
@@ -0,0 +1,43 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ EasyMercurial
+
+ Based on HgExplorer by Jari Korhonen
+ Copyright (c) 2010 Jari Korhonen
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version. See the file
+ COPYING included with this distribution for more information.
+*/
+
+#ifndef FINDWIDGET_H
+#define FINDWIDGET_H
+
+#include
+
+class QLineEdit;
+
+class FindWidget : public QWidget
+{
+ Q_OBJECT
+
+public:
+ FindWidget(QWidget *parent = 0);
+ ~FindWidget();
+
+signals:
+ void findTextChanged(QString);
+
+private slots:
+ void buttonPressed();
+
+private:
+ QLineEdit *m_lineEdit;
+};
+
+#endif
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/fswatcher.cpp
--- a/src/fswatcher.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/fswatcher.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on hgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -23,7 +23,7 @@
#include
-#define DEBUG_FSWATCHER 1
+//#define DEBUG_FSWATCHER 1
/*
* Watching the filesystem is trickier than it seems at first glance.
@@ -66,8 +66,13 @@
{
QMutexLocker locker(&m_mutex);
if (m_workDirPath == path) return;
- m_watcher.removePaths(m_watcher.directories());
- m_watcher.removePaths(m_watcher.files());
+ // annoyingly, removePaths prints a warning if given an empty list
+ if (!m_watcher.directories().empty()) {
+ m_watcher.removePaths(m_watcher.directories());
+ }
+ if (!m_watcher.files().empty()) {
+ m_watcher.removePaths(m_watcher.files());
+ }
m_workDirPath = path;
addWorkDirectory(path);
debugPrint();
@@ -212,7 +217,9 @@
// watching the file explicitly, i.e. the file is in the
// tracked file paths list. So we never want to ignore them
+#ifdef DEBUG_FSWATCHER
std::cerr << "FsWatcher: Tracked file " << path << " has changed" << std::endl;
+#endif
size_t counter = ++m_lastCounter;
m_changes[path] = counter;
@@ -228,13 +235,17 @@
QString fn(fi.fileName());
foreach (QString pfx, m_ignoredPrefixes) {
if (fn.startsWith(pfx)) {
+#ifdef DEBUG_FSWATCHER
std::cerr << "(ignoring: " << path << ")" << std::endl;
+#endif
return true;
}
}
foreach (QString sfx, m_ignoredSuffixes) {
if (fn.endsWith(sfx)) {
+#ifdef DEBUG_FSWATCHER
std::cerr << "(ignoring: " << path << ")" << std::endl;
+#endif
return true;
}
}
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/fswatcher.h
--- a/src/fswatcher.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/fswatcher.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/grapher.cpp
--- a/src/grapher.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/grapher.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/grapher.h
--- a/src/grapher.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/grapher.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/hgaction.h
--- a/src/hgaction.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/hgaction.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -118,6 +118,20 @@
return false;
}
}
+
+ bool makesSenseToCancel() const {
+ switch (action) {
+ case ACT_INCOMING:
+ case ACT_PUSH:
+ case ACT_PULL:
+ case ACT_CLONEFROMREMOTE:
+ case ACT_FOLDERDIFF:
+ case ACT_CHGSETDIFF:
+ return true;
+ default:
+ return false;
+ }
+ }
};
#endif
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/hgignoredialog.cpp
--- a/src/hgignoredialog.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/hgignoredialog.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on hgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/hgignoredialog.h
--- a/src/hgignoredialog.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/hgignoredialog.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on hgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/hgrunner.cpp
--- a/src/hgrunner.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/hgrunner.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -20,16 +20,14 @@
#include "debug.h"
#include "settingsdialog.h"
-#include
-#include
-#include
-#include
-#include
#include
#include
#include
#include
#include
+#include
+#include
+#include
#include
#include
@@ -44,10 +42,24 @@
#include
#endif
-HgRunner::HgRunner(QString myDirPath, QWidget * parent) :
- QProgressBar(parent),
+HgRunner::HgRunner(QString myDirPath, QWidget *parent) :
+ QWidget(parent),
m_myDirPath(myDirPath)
{
+ QGridLayout *layout = new QGridLayout(this);
+ layout->setMargin(0);
+
+ m_progress = new QProgressBar;
+ layout->addWidget(m_progress, 0, 0);
+
+ m_cancel = new QPushButton;
+ m_cancel->setIcon(QIcon(":images/cancel-small.png"));
+ m_cancel->setFlat(true);
+ m_cancel->setFixedHeight(m_progress->sizeHint().height());
+ m_cancel->setFixedWidth(m_progress->sizeHint().height());
+ connect(m_cancel, SIGNAL(clicked()), this, SLOT(killCurrentActions()));
+ layout->addWidget(m_cancel, 0, 1);
+
m_proc = 0;
// Always unbundle the extension: even if it already exists (in
@@ -59,8 +71,8 @@
// unbundling failed
unbundleExtension();
- setTextVisible(false);
- setVisible(false);
+ m_progress->setTextVisible(false);
+ hide();
m_isRunning = false;
}
@@ -328,9 +340,9 @@
void HgRunner::finished(int procExitCode, QProcess::ExitStatus procExitStatus)
{
- if (!m_proc) return;
+ if (!m_proc) return;
- // Save the current action and reset m_currentAction before we
+ // Save the current action and reset m_currentAction before we
// emit a signal to mark the completion; otherwise we may be
// resetting the action after a slot has already tried to set it
// to something else to start a new action
@@ -366,8 +378,10 @@
void HgRunner::killCurrentActions()
{
+ HgAction current = m_currentAction;
m_queue.clear();
killCurrentCommand();
+ emit commandCancelled(current);
}
void HgRunner::killCurrentCommand()
@@ -524,8 +538,11 @@
}
m_isRunning = true;
- setRange(0, 0);
- if (!action.shouldBeFast()) show();
+ m_progress->setRange(0, 0);
+ if (!action.shouldBeFast()) {
+ show();
+ m_cancel->setVisible(action.makesSenseToCancel());
+ }
m_stdout.clear();
m_stderr.clear();
m_realm = "";
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/hgrunner.h
--- a/src/hgrunner.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/hgrunner.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -20,22 +20,24 @@
#include "hgaction.h"
-#include
+#include
#include
-#include
-#include
-#include
+
+class QProgressBar;
+class QPushButton;
+class QFile;
#include
-class HgRunner : public QProgressBar
+class HgRunner : public QWidget
{
Q_OBJECT
public:
- HgRunner(QString myDirPath, QWidget * parent = 0);
+ HgRunner(QString myDirPath, QWidget *parent = 0);
~HgRunner();
+public slots:
void requestAction(HgAction action);
void killCurrentActions(); // kill anything running; clear the queue
@@ -44,6 +46,13 @@
void commandCompleted(HgAction action, QString stdOut);
void commandFailed(HgAction action, QString stdErr, QString stdOut);
+ /**
+ * Emitted when the currently executing command is cancelled. Note
+ * that this clears the queue completely, so all subsequent
+ * commands are also discarded.
+ */
+ void commandCancelled(HgAction action);
+
private slots:
void started();
void error(QProcess::ProcessError);
@@ -78,6 +87,9 @@
QString getUnbundledFileName();
QString unbundleExtension();
+ QProgressBar *m_progress;
+ QPushButton *m_cancel;
+
QStringList addExtensionOptions(QStringList);
int m_ptyMasterFd;
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/hgtabwidget.cpp
--- a/src/hgtabwidget.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/hgtabwidget.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -154,6 +154,12 @@
m_historyWidget->update();
}
+void HgTabWidget::setSearchText(QString text)
+{
+ m_fileStatusWidget->setSearchText(text);
+ m_historyWidget->setSearchText(text);
+}
+
bool HgTabWidget::canDiff() const
{
return canRevert();
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/hgtabwidget.h
--- a/src/hgtabwidget.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/hgtabwidget.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -113,6 +113,8 @@
void showWorkTab();
void showHistoryTab();
+ void setSearchText(QString text);
+
private:
FileStatusWidget *m_fileStatusWidget;
HistoryWidget *m_historyWidget;
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/historywidget.cpp
--- a/src/historywidget.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/historywidget.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -23,6 +23,7 @@
#include "grapher.h"
#include "debug.h"
#include "uncommitteditem.h"
+#include "findwidget.h"
#include
@@ -55,11 +56,21 @@
settings.beginGroup("Presentation");
bool showClosed = (settings.value("showclosedbranches", false).toBool());
+ QWidget *opts = new QWidget;
+ QGridLayout *optLayout = new QGridLayout(opts);
+ optLayout->setMargin(0);
+ layout->addWidget(opts, ++row, 0, 1, 2);
+
+ m_findWidget = new FindWidget(this);
+ optLayout->addWidget(m_findWidget, 0, 0, Qt::AlignLeft);
+ connect(m_findWidget, SIGNAL(findTextChanged(QString)),
+ this, SLOT(setSearchText(QString)));
+
m_showClosedBranches = new QCheckBox(tr("Show closed branches"), this);
m_showClosedBranches->setChecked(showClosed);
connect(m_showClosedBranches, SIGNAL(toggled(bool)),
this, SLOT(showClosedChanged(bool)));
- layout->addWidget(m_showClosedBranches, ++row, 0, Qt::AlignLeft);
+ optLayout->addWidget(m_showClosedBranches, 0, 1, Qt::AlignRight);
m_showClosedBranches->hide();
setLayout(layout);
@@ -241,6 +252,9 @@
toFocus->ensureVisible();
}
+ if (m_searchText != "") {
+ updateSearchStatus();
+ }
connectSceneSignals();
}
@@ -294,6 +308,38 @@
}
}
+void HistoryWidget::setSearchText(QString text)
+{
+ if (m_searchText == text) return;
+ m_searchText = text;
+ updateSearchStatus();
+}
+
+void HistoryWidget::updateSearchStatus()
+{
+ QGraphicsScene *scene = m_panned->scene();
+ if (!scene) return;
+
+ ChangesetItem *toFocus = 0;
+
+ QList items = scene->items();
+ foreach (QGraphicsItem *it, items) {
+
+ ChangesetItem *csit = dynamic_cast(it);
+ if (!csit) continue;
+
+ bool matched = csit->matchSearchText(m_searchText);
+ if (matched && (!toFocus || csit->row() < toFocus->row())) {
+ toFocus = csit;
+ }
+ csit->update();
+ }
+
+ if (toFocus) {
+ toFocus->ensureVisible();
+ }
+}
+
void HistoryWidget::connectSceneSignals()
{
ChangesetScene *scene = qobject_cast(m_panned->scene());
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/historywidget.h
--- a/src/historywidget.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/historywidget.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -28,6 +28,7 @@
class Panner;
class UncommittedItem;
class QGraphicsScene;
+class FindWidget;
class HistoryWidget : public QWidget
{
@@ -68,6 +69,9 @@
private slots:
void showClosedChanged(bool);
+
+public slots:
+ void setSearchText(QString);
private:
Changesets m_changesets;
@@ -78,10 +82,13 @@
bool m_showUncommitted;
bool m_refreshNeeded;
+ FindWidget *m_findWidget;
Panned *m_panned;
Panner *m_panner;
QCheckBox *m_showClosedBranches;
+ QString m_searchText;
+
QGraphicsScene *scene();
void clearChangesets();
void replaceChangesets(Changesets);
@@ -90,6 +97,7 @@
void setChangesetParents();
void updateNewAndCurrentItems();
void connectSceneSignals();
+ void updateSearchStatus();
};
#endif
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/incomingdialog.cpp
--- a/src/incomingdialog.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/incomingdialog.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on hgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/incomingdialog.h
--- a/src/incomingdialog.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/incomingdialog.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on hgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/logparser.cpp
--- a/src/logparser.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/logparser.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/logparser.h
--- a/src/logparser.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/logparser.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/main.cpp
--- a/src/main.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/main.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/mainwindow.cpp
--- a/src/mainwindow.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/mainwindow.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on hgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -85,6 +85,8 @@
this, SLOT(commandCompleted(HgAction, QString)));
connect(m_runner, SIGNAL(commandFailed(HgAction, QString, QString)),
this, SLOT(commandFailed(HgAction, QString, QString)));
+ connect(m_runner, SIGNAL(commandCancelled(HgAction)),
+ this, SLOT(commandCancelled(HgAction)));
statusBar()->addPermanentWidget(m_runner);
setWindowTitle(tr("EasyMercurial"));
@@ -112,7 +114,7 @@
m_hgTabs = new HgTabWidget(central, m_workFolderPath);
connectTabsSignals();
- cl->addWidget(m_hgTabs, row++, 0);
+ cl->addWidget(m_hgTabs, row++, 0, 1, 2);
connect(m_hgTabs, SIGNAL(selectionChanged()),
this, SLOT(enableDisableActions()));
@@ -153,6 +155,11 @@
}
+void MainWindow::resizeEvent(QResizeEvent *)
+{
+}
+
+
QString MainWindow::getUserInfo() const
{
QSettings settings;
@@ -187,9 +194,9 @@
"
EasyMercurial is based on HgExplorer by "
"Jari Korhonen, with thanks.
"
"This program requires Mercurial, by Matt Mackall and others. "
@@ -282,6 +289,8 @@
path = s.value("default").toString();
}
+// std::cerr << "hgQueryPaths: setting m_remoteRepoPath to " << m_remoteRepoPath << " from file " << hgrc.absoluteFilePath() << std::endl;
+
m_remoteRepoPath = path;
// We have to do this here, because commandCompleted won't be called
@@ -1484,7 +1493,8 @@
d->addChoice("remote",
tr("
Remote repository
"),
explanation,
- MultiChoiceDialog::UrlArg);
+ MultiChoiceDialog::UrlArg,
+ true); // default empty
if (d->exec() == QDialog::Accepted) {
@@ -1779,6 +1789,7 @@
if (status == FolderHasRepo) {
if (!askToOpenInsteadOfInit(local)) return false;
+ return openLocal(local);
}
if (containing != "") {
@@ -1831,8 +1842,8 @@
hgRefresh();
return;
}
+ updateFsWatcher();
}
- updateFsWatcher();
}
QString MainWindow::format1(QString head)
@@ -2519,6 +2530,19 @@
}
}
+void MainWindow::commandCancelled(HgAction cancelledAction)
+{
+ // Originally I had this checking whether the cancelled action was
+ // a network one and, if so, calling hgQueryPaths to update the
+ // local view in case it had changed anything. But that doesn't
+ // work properly -- because at this point, although the command
+ // has been cancelled and a kill signal sent, it hasn't actually
+ // exited yet. If we request another command now, it will go on
+ // the stack and be associated with the failed exit forthcoming
+ // from the cancelled command -- giving the user a disturbing
+ // command-failed dialog
+}
+
void MainWindow::connectActions()
{
connect(m_exitAct, SIGNAL(triggered()), this, SLOT(close()));
@@ -3007,8 +3031,13 @@
int sz = 32;
bool spacingReqd = false;
+ QString spacer = "";
#ifndef Q_OS_MAC
spacingReqd = true;
+ spacer = " ";
+#ifdef Q_OS_WIN32
+ spacer = " ";
+#endif
#endif
m_workFolderToolBar = addToolBar(tr("Work"));
@@ -3032,9 +3061,13 @@
m_repoToolBar = addToolBar(tr("Remote"));
m_repoToolBar->setIconSize(QSize(sz, sz));
- if (spacingReqd) m_repoToolBar->addWidget(new QLabel(" "));
+ if (spacingReqd) {
+ m_repoToolBar->addWidget(new QLabel(spacer));
+ }
m_repoToolBar->addAction(m_openAct);
- if (spacingReqd) m_repoToolBar->addWidget(new QLabel(" "));
+ if (spacingReqd) {
+ m_repoToolBar->addWidget(new QLabel(spacer));
+ }
m_repoToolBar->addSeparator();
m_repoToolBar->addAction(m_hgIncomingAct);
m_repoToolBar->addAction(m_hgPullAct);
@@ -3077,10 +3110,8 @@
QSettings settings;
- m_remoteRepoPath = settings.value("remoterepopath", "").toString();
m_workFolderPath = settings.value("workfolderpath", "").toString();
- if (!workFolder.exists(m_workFolderPath))
- {
+ if (!workFolder.exists(m_workFolderPath)) {
m_workFolderPath = "";
}
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/mainwindow.h
--- a/src/mainwindow.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/mainwindow.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on hgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -46,6 +46,7 @@
protected:
void closeEvent(QCloseEvent *event);
+ void resizeEvent(QResizeEvent *event);
public slots:
void open(QString local);
@@ -53,6 +54,7 @@
void commandStarting(HgAction);
void commandCompleted(HgAction action, QString stdOut);
void commandFailed(HgAction action, QString stdErr, QString stdOut);
+ void commandCancelled(HgAction action);
void enableDisableActions();
private slots:
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/moreinformationdialog.cpp
--- a/src/moreinformationdialog.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/moreinformationdialog.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on hgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/moreinformationdialog.h
--- a/src/moreinformationdialog.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/moreinformationdialog.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on hgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/multichoicedialog.cpp
--- a/src/multichoicedialog.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/multichoicedialog.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -136,13 +136,15 @@
void
MultiChoiceDialog::addChoice(QString id, QString text,
- QString description, ArgType arg)
+ QString description, ArgType arg,
+ bool defaultEmpty)
{
bool first = (m_texts.empty());
m_texts[id] = text;
m_descriptions[id] = description;
m_argTypes[id] = arg;
+ m_defaultEmpty[id] = defaultEmpty;
if (arg != NoArg) {
m_recentFiles[id] = QSharedPointer
@@ -263,7 +265,9 @@
void
MultiChoiceDialog::updateOkButton()
{
- if (m_argTypes[m_currentChoice] == UrlToDirectoryArg) {
+ if (m_defaultEmpty[m_currentChoice]) {
+ m_okButton->setEnabled(true);
+ } else if (m_argTypes[m_currentChoice] == UrlToDirectoryArg) {
m_okButton->setEnabled(getArgument() != "" &&
getAdditionalArgument() != "");
} else {
@@ -326,6 +330,7 @@
m_fileLabel->show();
m_fileCombo->show();
m_fileCombo->addItems(rf->getRecent());
+ if (m_defaultEmpty[id]) m_fileCombo->lineEdit()->setText("");
m_browseButton->show();
break;
@@ -334,6 +339,7 @@
m_fileLabel->show();
m_fileCombo->show();
m_fileCombo->addItems(rf->getRecent());
+ if (m_defaultEmpty[id]) m_fileCombo->lineEdit()->setText("");
m_browseButton->show();
break;
@@ -341,12 +347,14 @@
m_urlLabel->show();
m_urlCombo->show();
m_urlCombo->addItems(rf->getRecent());
+ if (m_defaultEmpty[id]) m_urlCombo->lineEdit()->setText("");
break;
case UrlToDirectoryArg:
m_urlLabel->show();
m_urlCombo->show();
m_urlCombo->addItems(rf->getRecent());
+ if (m_defaultEmpty[id]) m_urlCombo->lineEdit()->setText("");
m_fileLabel->setText(tr("&Folder:"));
m_fileLabel->show();
m_fileCombo->show();
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/multichoicedialog.h
--- a/src/multichoicedialog.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/multichoicedialog.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -48,7 +48,8 @@
};
void addChoice(QString identifier, QString text,
- QString description, ArgType arg);
+ QString description, ArgType arg,
+ bool defaultEmpty = false);
void setCurrentChoice(QString);
QString getCurrentChoice();
@@ -71,6 +72,7 @@
QMap m_texts;
QMap m_descriptions;
QMap m_argTypes;
+ QMap m_defaultEmpty;
QMap > m_recentFiles;
QString m_currentChoice;
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/panned.cpp
--- a/src/panned.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/panned.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/panned.h
--- a/src/panned.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/panned.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/panner.cpp
--- a/src/panner.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/panner.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/panner.h
--- a/src/panner.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/panner.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/recentfiles.cpp
--- a/src/recentfiles.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/recentfiles.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/recentfiles.h
--- a/src/recentfiles.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/recentfiles.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/repositorydialog.cpp
--- a/src/repositorydialog.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/repositorydialog.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/repositorydialog.h
--- a/src/repositorydialog.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/repositorydialog.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/selectablelabel.cpp
--- a/src/selectablelabel.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/selectablelabel.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/selectablelabel.h
--- a/src/selectablelabel.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/selectablelabel.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/settingsdialog.cpp
--- a/src/settingsdialog.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/settingsdialog.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/settingsdialog.h
--- a/src/settingsdialog.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/settingsdialog.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/squeezedlabel.cpp
--- a/src/squeezedlabel.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/squeezedlabel.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -17,7 +17,7 @@
/*
This file adapted from Rosegarden, a sequencer and musical
- notation editor. Copyright 2000-2011 the Rosegarden development
+ notation editor. Copyright 2000-2012 the Rosegarden development
team.
Adapted from KDE 4.2.0, this code originally Copyright (c) 2000
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/squeezedlabel.h
--- a/src/squeezedlabel.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/squeezedlabel.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -17,7 +17,7 @@
/*
This file adapted from Rosegarden, a sequencer and musical
- notation editor. Copyright 2000-2011 the Rosegarden development
+ notation editor. Copyright 2000-2012 the Rosegarden development
team.
Adapted from KDE 4.2.0, this code originally Copyright (c) 2000
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/startupdialog.cpp
--- a/src/startupdialog.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/startupdialog.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/startupdialog.h
--- a/src/startupdialog.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/startupdialog.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/textabbrev.cpp
--- a/src/textabbrev.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/textabbrev.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/textabbrev.h
--- a/src/textabbrev.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/textabbrev.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/uncommitteditem.cpp
--- a/src/uncommitteditem.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/uncommitteditem.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/uncommitteditem.h
--- a/src/uncommitteditem.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/uncommitteditem.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/version.h
--- a/src/version.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/version.h Mon Mar 12 14:58:40 2012 +0000
@@ -1,1 +1,1 @@
-#define EASYHG_VERSION "1.1"
+#define EASYHG_VERSION "1.2"
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/versiontester.cpp
--- a/src/versiontester.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/versiontester.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on hgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/versiontester.h
--- a/src/versiontester.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/versiontester.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on hgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/workstatuswidget.cpp
--- a/src/workstatuswidget.cpp Tue Feb 14 17:53:29 2012 +0000
+++ b/src/workstatuswidget.cpp Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff -r 9f91d1b2ed51 -r e40e3ebe9f2e src/workstatuswidget.h
--- a/src/workstatuswidget.h Tue Feb 14 17:53:29 2012 +0000
+++ b/src/workstatuswidget.h Mon Mar 12 14:58:40 2012 +0000
@@ -5,8 +5,8 @@
Based on HgExplorer by Jari Korhonen
Copyright (c) 2010 Jari Korhonen
- Copyright (c) 2011 Chris Cannam
- Copyright (c) 2011 Queen Mary, University of London
+ Copyright (c) 2012 Chris Cannam
+ Copyright (c) 2012 Queen Mary, University of London
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as