Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/icons
diff options
context:
space:
mode:
authorThomas Wolf2017-07-13 08:30:53 +0000
committerMatthias Sohn2017-07-13 21:00:42 +0000
commit56991ad4ed5b8977a641307802743601fc215e5f (patch)
treec6c8a1757dd622cd29d4cf50e5c1a6022f97337b /icons
parent500d12d02986d3deb206d21975ccc6e87e7e7d73 (diff)
downloadegit-56991ad4ed5b8977a641307802743601fc215e5f.tar.gz
egit-56991ad4ed5b8977a641307802743601fc215e5f.tar.xz
egit-56991ad4ed5b8977a641307802743601fc215e5f.zip
Toolbar button to switch repositories in git views
Enable the user to quickly switch the staging view, the reflog view, the rebase interactive view, or the history view from one repository to another via a toolbar button with a drop-down menu listing all currently configured git repositories. Switching in one view makes all other EGit views that are linked to the current selection also switch. The current repository of a view, if any, is marked by a check mark in the menu. Use the "repository" image for the new button. Change the icon for "no filter" in history view to avoid a clash: instead of the repository icon, use a struck-out filter icon. Make sure all Git views provide selections that do adapt to Repository. This was already the case for the repositories view, the history view, and partly the staging view. For the reflog view, add an adaptable DTO wrapper around ReflogEntry for the tree. In staging view, add a MultiViewerSelectionProvider modeled after the JDT's SelectionProviderMediator that can provide the selection from whichever viewer has the focus. In the rebase interactive view, make PlanElement adapt to Repository, and fix some other minor bugs: don't clear when the linked selection is empty, don't show "No Repository Selected" briefly when a bare repo is selected, react on the initial selection in createControl() instead of remembering the selection when the view was created. (If the view is hidden, the selection may have changed by the time it is activated and its control is created.) Make the repositories view react on selection changes not only for IResource or File but also for Repository. Add special-purpose selection providers (RepositorySelectionProvider) to the staging view, the reflog view, the history view, and the rebase interactive view that provide a selection that identifies the current repository in those views if it is otherwise empty. Use a RepositoryNode for this to avoid multiple entries in the history view's navigation history. Since all views' selection listener mechanisms do handle a selection that adapts to Repository, this makes all EGit views nicely switch in sync when the "current" repository is changed in one of them. Includes initial UI tests. However, for some unknown reason I cannot get the test for the new button and the selection handling to work, so it is ignored. Somehow the selection in the other views does not get updated when run as a SWTBot test. Testing this is tricky anyway because most of our views load asynchronously one way or another. To be able to detect that for the staging view, I have made it use a WorkbenchJob instead of a plain Display.asyncExec(). Alas, that didn't help for that test. Bug: 518607 Change-Id: I976df6e3bf0363c27b877d995344487bb622f037 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
Diffstat (limited to 'icons')
-rw-r--r--icons/org.eclipse.egit.ui/icons/elcl16/filter_none.svg253
1 files changed, 253 insertions, 0 deletions
diff --git a/icons/org.eclipse.egit.ui/icons/elcl16/filter_none.svg b/icons/org.eclipse.egit.ui/icons/elcl16/filter_none.svg
new file mode 100644
index 0000000000..6deb5835d8
--- /dev/null
+++ b/icons/org.eclipse.egit.ui/icons/elcl16/filter_none.svg
@@ -0,0 +1,253 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="16"
+ height="16"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="filter_none.svg">
+ <defs
+ id="defs4">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5103">
+ <stop
+ style="stop-color:#fefdef;stop-opacity:1"
+ offset="0"
+ id="stop5105" />
+ <stop
+ style="stop-color:#fce69e;stop-opacity:1"
+ offset="1"
+ id="stop5107" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4922">
+ <stop
+ style="stop-color:#77849a;stop-opacity:1"
+ offset="0"
+ id="stop4924" />
+ <stop
+ style="stop-color:#38445d;stop-opacity:1"
+ offset="1"
+ id="stop4926" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4878">
+ <stop
+ style="stop-color:#4e8fbd;stop-opacity:1"
+ offset="0"
+ id="stop4880" />
+ <stop
+ style="stop-color:#4d5a5d;stop-opacity:1"
+ offset="1"
+ id="stop4882" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4878"
+ id="linearGradient4884"
+ x1="0"
+ y1="13.5"
+ x2="7.9998932"
+ y2="13.5"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4878-7">
+ <stop
+ style="stop-color:#4e8fbd;stop-opacity:1"
+ offset="0"
+ id="stop4880-4" />
+ <stop
+ style="stop-color:#4d5a5d;stop-opacity:1"
+ offset="1"
+ id="stop4882-0" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(0,1026.3622)"
+ y2="13.5"
+ x2="7.9998932"
+ y1="13.5"
+ x1="0"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4901"
+ xlink:href="#linearGradient4878-7"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4922"
+ id="linearGradient4929"
+ x1="10"
+ y1="1"
+ x2="10"
+ y2="6"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,1036.3622)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4922-8">
+ <stop
+ style="stop-color:#77849a;stop-opacity:1"
+ offset="0"
+ id="stop4924-8" />
+ <stop
+ style="stop-color:#38445d;stop-opacity:1"
+ offset="1"
+ id="stop4926-2" />
+ </linearGradient>
+ <linearGradient
+ y2="6"
+ x2="10"
+ y1="1"
+ x1="10"
+ gradientTransform="translate(0,-1053.3622)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4946"
+ xlink:href="#linearGradient4922-8"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5103"
+ id="linearGradient5109"
+ x1="11.906143"
+ y1="1042.3622"
+ x2="11.906143"
+ y2="1047.2684"
+ gradientUnits="userSpaceOnUse" />
+ <filter
+ color-interpolation-filters="sRGB"
+ inkscape:collect="always"
+ id="filter4764">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="0.125"
+ id="feGaussianBlur4766" />
+ </filter>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="32"
+ inkscape:cx="8.622948"
+ inkscape:cy="8.030652"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="1241"
+ inkscape:window-height="814"
+ inkscape:window-x="275"
+ inkscape:window-y="275"
+ inkscape:window-maximized="0"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ inkscape:snap-global="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3999"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ style="display:inline"
+ transform="translate(0,-1036.3622)">
+ <path
+ style="fill:url(#linearGradient4884);stroke:none;fill-opacity:1;opacity:0.5"
+ d="m 0,13 0,1 5,0 0,2 L 7.9998932,13.5 5,11 5,13 z"
+ id="path4108"
+ inkscape:connector-curvature="0"
+ transform="translate(0,1036.3622)"
+ sodipodi:nodetypes="cccccccc" />
+ <path
+ style="fill:url(#linearGradient4901);fill-opacity:1;stroke:none;display:inline;opacity:0.3"
+ d="m 0,1039.3622 0,1 5,0 0,2 2.9998932,-2.5 -2.9998932,-2.5 0,2 z"
+ id="path4108-9"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccc" />
+ <rect
+ style="fill:url(#linearGradient4929);fill-opacity:1;stroke:none;opacity:0.5"
+ id="rect4920"
+ width="1"
+ height="5"
+ x="9"
+ y="1037.3622" />
+ <rect
+ style="fill:url(#linearGradient4946);fill-opacity:1;stroke:none;display:inline;opacity:0.5"
+ id="rect4920-4"
+ width="1"
+ height="5"
+ x="9"
+ y="-1052.3622"
+ transform="scale(1,-1)" />
+ <path
+ sodipodi:nodetypes="ccccccccccc"
+ inkscape:connector-curvature="0"
+ id="path4744"
+ style="font-size:7.60321283px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 22.25,1045.6747 0,-6 4,0 0,1 -3,0 0,1 2,0 0,1 -2,0 0,3 z" />
+ <path
+ sodipodi:nodetypes="ccccccccccc"
+ inkscape:connector-curvature="0"
+ id="path4744-9"
+ style="font-size:7.60321283px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;opacity:0.5;fill:#ffffff;fill-opacity:1;stroke:none;display:inline;filter:url(#filter4764);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 22.382582,1045.8073 0,-6 4,0 0,1 -3,0 0,1 2,0 0,1 -2,0 0,3 z" />
+ <g
+ id="g3039"
+ transform="matrix(1.0000319,0,0,1,-15.438502,1.6875)">
+ <path
+ style="font-size:7.60321283px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000f6f;fill-opacity:1;stroke:#6f99c7;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 16.9375,1035.6747 14,14"
+ id="path4792-9"
+ inkscape:connector-curvature="0" />
+ <path
+ style="font-size:7.60321283px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000f6f;fill-opacity:1;stroke:#000f6f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 16.25,1035.6747 14,14"
+ id="path4792"
+ inkscape:connector-curvature="0" />
+ </g>
+ <path
+ style="fill:url(#linearGradient5109);fill-opacity:1;stroke:none;display:inline"
+ d="m 5,1044.3622 0,1 7,0 0,2 2.999893,-2.5 -2.999893,-2.5 0,2 z"
+ id="path4108-1"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccc" />
+ <path
+ style="fill:#b57a13;fill-opacity:1;stroke:none;display:inline;opacity:1"
+ d="m 11,1041.3622 0,2 -5,0 -1,0 c -0.9918497,0.9918 -0.9863244,2.0137 0,3 l 1,0 5,0 0,2 c 0,0.6519 0.740915,0.6375 1.5,0 l 3.9375,-3.5 -3.9375,-3.5 c -0.760225,-0.7602 -1.5,-0.5203 -1.5,0 z m 1,1 3,2.5 -3,2.5 0,-2 -6.4375,0 c -0.2762136,-0.2099 -0.2774437,-0.7282 0,-1 l 6.4375,0 z"
+ id="path4108-1-6"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccccccccccccc" />
+ </g>
+</svg>

Back to the top