From 5f9dac84becea3a3aabc2d925da956eb58a95b37 Mon Sep 17 00:00:00 2001 From: irengrig Date: Thu, 11 Oct 2012 17:54:34 +0400 Subject: [PATCH 1/6] vcs server db layer:append revisions test --- .../dbCommitted/HistoryCacheManager.java | 14 +++++++++++++- .../changes/dbCommitted/VcsSqliteLayer.java | 19 +++++++++++++------ 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/HistoryCacheManager.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/HistoryCacheManager.java index 484372f3c849..464d540a5ea2 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/HistoryCacheManager.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/HistoryCacheManager.java @@ -83,6 +83,18 @@ public class HistoryCacheManager { return myDbUtil.readLists(vcs, location, lastRev, oldRev); } + public long getLastRevision(final AbstractVcs vcs, final RepositoryLocation location) { + return myDbUtil.getLastRevision(vcs, location2string(location)); + } + + private String location2string(RepositoryLocation location) { + return FileUtil.toSystemIndependentName(location.toPresentableString()); + } + + public long getFirstRevision(final AbstractVcs vcs, final RepositoryLocation location) { + return myDbUtil.getFirstRevision(vcs, location2string(location)); + } + private class AppendChanges extends Task.Backgroundable { private final List myLists; private final String myRoot; @@ -134,7 +146,7 @@ public class HistoryCacheManager { myCachesHolder.iterateAllRepositoryLocations(new PairProcessor() { @Override public boolean process(RepositoryLocation location, AbstractVcs vcs) { - map.putValue(vcs.getName(), FileUtil.toSystemIndependentName(location.toPresentableString())); + map.putValue(vcs.getName(), location2string(location)); return true; } }); diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/VcsSqliteLayer.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/VcsSqliteLayer.java index cc40cc650cc9..b50bd0a3505c 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/VcsSqliteLayer.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/VcsSqliteLayer.java @@ -256,13 +256,21 @@ public class VcsSqliteLayer { long maxRev = -1; long minRev = Long.MAX_VALUE; + final Long firstRevision = myKnownRepositoryLocations.getFirstRevision(locationId); + final Long lastRevision = myKnownRepositoryLocations.getLastRevision(locationId); final List> split = new CollectionSplitter(20).split(lists); final Map knowPaths = new HashMap(); for (List changeLists : split) { final Set names = new HashSet(); final Set paths = new HashSet(); - for (CommittedChangeList list : changeLists) { + for (Iterator iterator = changeLists.iterator(); iterator.hasNext(); ) { + final CommittedChangeList list = iterator.next(); + if (lastRevision != null && list.getNumber() <= lastRevision && list.getNumber() >= firstRevision) { + iterator.remove(); + continue; + } + maxRev = Math.max(maxRev, list.getNumber()); minRev = Math.min(minRev, list.getNumber()); @@ -281,11 +289,9 @@ public class VcsSqliteLayer { checkAndAddPaths(paths, knowPaths, locationId); insertChangeListsIfNotExists(vcs, knownAuthors, changeLists, locationId, knowPaths); - final Long firstRevision = myKnownRepositoryLocations.getFirstRevision(locationId); if (firstRevision == null || minRev < firstRevision) { myKnownRepositoryLocations.setFirstRevision(locationId, minRev); } - final Long lastRevision = myKnownRepositoryLocations.getLastRevision(locationId); if (lastRevision == null || maxRev > lastRevision) { myKnownRepositoryLocations.setLastRevision(locationId, maxRev); } @@ -310,11 +316,8 @@ public class VcsSqliteLayer { final CachingCommittedChangesProvider provider = (CachingCommittedChangesProvider)vcs.getCommittedChangesProvider(); try { statement.setLong(1, locationId); - final Long lastRevision = myKnownRepositoryLocations.getLastRevision(locationId); - final Long firstRevision = myKnownRepositoryLocations.getFirstRevision(locationId); for (CommittedChangeList list : lists) { - if (lastRevision != null && list.getNumber() <= lastRevision && list.getNumber() >= firstRevision) continue; statement.setLong(2, authors.get(list.getCommitterName())); statement.setLong(3, list.getCommitDate().getTime()); statement.setLong(4, list.getNumber()); @@ -370,6 +373,10 @@ public class VcsSqliteLayer { insert.setLong(4, beforeId); insert.setLong(3, type.getCode()); SqliteUtil.insert(insert); + } else if (change.getAfterRevision() == null) { + insert.setLong(1, paths.get(FileUtil.toSystemIndependentName(change.getBeforeRevision().getFile().getPath()))); + insert.setLong(3, type.getCode()); + SqliteUtil.insert(insert); } else { // only after insert.setLong(1, paths.get(FileUtil.toSystemIndependentName(change.getAfterRevision().getFile().getPath()))); From 23fea501aea5daa7c22a7469f95583751647ce95 Mon Sep 17 00:00:00 2001 From: "Gregory.Shrago" Date: Thu, 11 Oct 2012 20:34:39 +0400 Subject: [PATCH 2/6] new database refactoring ui --- .../com/intellij/ui/HideableTitledPanel.java | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ui/HideableTitledPanel.java b/platform/platform-impl/src/com/intellij/ui/HideableTitledPanel.java index 0fb7d2b851c2..02ae2bc75d0f 100644 --- a/platform/platform-impl/src/com/intellij/ui/HideableTitledPanel.java +++ b/platform/platform-impl/src/com/intellij/ui/HideableTitledPanel.java @@ -18,17 +18,15 @@ public class HideableTitledPanel extends JPanel { private TitledSeparator myTitledSeparator; private boolean myOn; - private final JComponent myContent; + private JComponent myContent; private Dimension myPreviousContentSize; - public HideableTitledPanel(String title, JComponent content, boolean on) { + public HideableTitledPanel(String title) { super(new BorderLayout()); - myContent = content; - add(myContent, BorderLayout.CENTER); myTitledSeparator = new TitledSeparator(title, null); add(myTitledSeparator, BorderLayout.NORTH); - myTitledSeparator.getLabel().setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); - myTitledSeparator.getLabel().addMouseListener(new MouseAdapter() { + myTitledSeparator.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); + myTitledSeparator.addMouseListener(new MouseAdapter() { @Override public void mouseReleased(MouseEvent e) { if (myOn) { @@ -39,10 +37,19 @@ public class HideableTitledPanel extends JPanel { } } }); + } + public HideableTitledPanel(String title, JComponent content, boolean on) { + this(title); + setContentComponent(content); setOn(on); } + protected void setContentComponent(JComponent content) { + myContent = content; + add(myContent, BorderLayout.CENTER); + } + public void setOn(boolean on) { myOn = on; if (myOn) { @@ -53,6 +60,10 @@ public class HideableTitledPanel extends JPanel { } } + public boolean isExpanded() { + return myOn; + } + public void setTitle(String title) { myTitledSeparator.setText(title); } From cbb93e0631d93d19aee9eee5e0d076787f2b2255 Mon Sep 17 00:00:00 2001 From: "Gregory.Shrago" Date: Thu, 11 Oct 2012 20:37:15 +0400 Subject: [PATCH 3/6] more AA --- .../intellij/ui/components/JBOptionButton.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/platform/platform-api/src/com/intellij/ui/components/JBOptionButton.java b/platform/platform-api/src/com/intellij/ui/components/JBOptionButton.java index c7be91833ef4..68c4bd9fdcca 100644 --- a/platform/platform-api/src/com/intellij/ui/components/JBOptionButton.java +++ b/platform/platform-api/src/com/intellij/ui/components/JBOptionButton.java @@ -248,7 +248,7 @@ public class JBOptionButton extends JButton implements MouseMotionListener { }; if (under && myOptions.length > 0) { - final JMenuItem mainAction = new JMenuItem(getAction()); + final JMenuItem mainAction = createMenuItem(getAction()); configureItem(getMenuInfo(getAction()), mainAction); result.add(mainAction); result.addSeparator(); @@ -257,7 +257,7 @@ public class JBOptionButton extends JButton implements MouseMotionListener { for (Action each : myOptions) { if (getAction() == each) continue; final OptionInfo info = getMenuInfo(each); - final JMenuItem eachItem = new JMenuItem(each); + final JMenuItem eachItem = createMenuItem(each); configureItem(info, eachItem); result.add(eachItem); @@ -265,7 +265,7 @@ public class JBOptionButton extends JButton implements MouseMotionListener { if (!under && myOptions.length > 0) { result.addSeparator(); - final JMenuItem mainAction = new JMenuItem(getAction()); + final JMenuItem mainAction = createMenuItem(getAction()); configureItem(getMenuInfo(getAction()), mainAction); result.add(mainAction); } @@ -273,6 +273,16 @@ public class JBOptionButton extends JButton implements MouseMotionListener { return result; } + private JMenuItem createMenuItem(final Action action) { + return new JMenuItem(action) { + @Override + public void paint(Graphics g) { + GraphicsUtil.setupAntialiasing(g); + super.paint(g); + } + }; + } + private void configureItem(OptionInfo info, JMenuItem eachItem) { eachItem.setText(info.myPlainText); if (info.myMnemonic >= 0) { From 9cd9a9bd3493f14cc693bcfe89935b8b18780817 Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Thu, 11 Oct 2012 20:38:50 +0400 Subject: [PATCH 4/6] update file types icons --- .../src/actions/browser-externalJavaDoc.png | Bin 433 -> 334 bytes platform/icons/src/actions/compile.png | Bin 392 -> 389 bytes platform/icons/src/actions/execute.png | Bin 443 -> 447 bytes platform/icons/src/actions/install.png | Bin 440 -> 441 bytes .../icons/src/actions/previousOccurence.png | Bin 438 -> 334 bytes platform/icons/src/actions/quickList.png | Bin 809 -> 572 bytes platform/icons/src/actions/refresh.png | Bin 581 -> 576 bytes platform/icons/src/actions/resume.png | Bin 510 -> 466 bytes platform/icons/src/actions/showChangesOnly.png | Bin 816 -> 619 bytes platform/icons/src/actions/showHiddens.png | Bin 605 -> 290 bytes platform/icons/src/actions/startDebugger.png | Bin 637 -> 636 bytes .../icons/src/debugger/threadStates/running.png | Bin 510 -> 466 bytes platform/icons/src/fileTypes/any_type.png | Bin 189 -> 188 bytes platform/icons/src/fileTypes/archive.png | Bin 194 -> 203 bytes platform/icons/src/fileTypes/aspectj.png | Bin 252 -> 249 bytes platform/icons/src/fileTypes/css.png | Bin 305 -> 325 bytes platform/icons/src/fileTypes/custom.png | Bin 286 -> 294 bytes platform/icons/src/fileTypes/dtd.png | Bin 280 -> 283 bytes platform/icons/src/fileTypes/facelets.png | Bin 314 -> 325 bytes platform/icons/src/fileTypes/facesConfig.png | Bin 373 -> 393 bytes platform/icons/src/fileTypes/htaccess.png | Bin 825 -> 514 bytes platform/icons/src/fileTypes/html.png | Bin 265 -> 259 bytes platform/icons/src/fileTypes/idl.png | Bin 263 -> 278 bytes platform/icons/src/fileTypes/java.png | Bin 242 -> 243 bytes platform/icons/src/fileTypes/javaClass.png | Bin 276 -> 292 bytes .../icons/src/fileTypes/javaOutsideSource.png | Bin 441 -> 427 bytes platform/icons/src/fileTypes/jsp.png | Bin 283 -> 309 bytes platform/icons/src/fileTypes/jspx.png | Bin 347 -> 360 bytes platform/icons/src/fileTypes/properties.png | Bin 266 -> 287 bytes platform/icons/src/fileTypes/text.png | Bin 201 -> 201 bytes platform/icons/src/fileTypes/uiForm.png | Bin 219 -> 218 bytes platform/icons/src/fileTypes/unknown.png | Bin 223 -> 236 bytes platform/icons/src/fileTypes/wsdlFile.png | Bin 358 -> 388 bytes platform/icons/src/fileTypes/xhtml.png | Bin 289 -> 287 bytes platform/icons/src/fileTypes/xml.png | Bin 320 -> 347 bytes platform/icons/src/fileTypes/xsdFile.png | Bin 369 -> 374 bytes platform/icons/src/nodes/artifact.png | Bin 606 -> 566 bytes platform/icons/src/nodes/plugin.png | Bin 447 -> 605 bytes .../icons/src/runConfigurations/testSkipped.png | Bin 456 -> 334 bytes 39 files changed, 0 insertions(+), 0 deletions(-) diff --git a/platform/icons/src/actions/browser-externalJavaDoc.png b/platform/icons/src/actions/browser-externalJavaDoc.png index a781f191dc33212c4c1aca4c6f54f49d63cc6b88..d7e4ee6fbc999b53615a311981201ca0b1ca8537 100644 GIT binary patch delta 318 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 F2>@_hxFG-l diff --git a/platform/icons/src/actions/quickList.png b/platform/icons/src/actions/quickList.png index 319c1b29738b381309e799112aa3c3e5335e6cad..190017c7bf6acd853a5b65e7b7d4e9974023734d 100644 GIT binary patch delta 558 zcmV+}0@3}c2D}828Gi-<001BJ|6u?C02y>eSaefwW^{L9a%BKPWN%_+AW3auXJt}l zVPtu6$z?nM00G`fL_t(|+KiJuNE|^FfZy!Q-u`$B9*BQQbHXXXB4uJ@5fw#HB!z_# z6j7VxKtdqtgcJuRO-N%GA?dUb8?g{9Z4?Uy6}>A&K?Hx|d4GHB?#%dhv&Q2NZ*SOd znVHAF{buG3ky1kck5wt89Pd*OIsxDnl7I?YGMOZb*D<387^eR7MAjVRa2v@&g^hWy zh^7J|#60B9leKqN$|TNkdw%)Jk9PC{`Ox91wLiP|D zP--BBKm*T&L4VGOzGSZT5nT9=p?ze&+!A~PmrEZB1eg{9Rg0t+W&cPe2LG0T1|Hst zP^y4#MA(t`Vs^&;u!7++qzxefr3tu@|G@_oMnN;QrkI*v=b+4o8*l-<02Bd=N%DHE z?W_C#^qcV|#GojFp9H6)#L6^R*%P0vREPooQiw;mD}Uh5c7|_dRs2ec)s-_~!4k5L z<18ll*>##VOu0hpG|iEm(Ac4M!zGZq);Y0bXb!ixb}VRU`| zJGBsY3ckTxGxJdUgN^)h%0>aMUH2?qr07*qoM6N<$g25&HYXATM delta 797 zcmV+&1LFL=1gQp)8Gi!+001a04^sdD0n|`TR7L;)|1U#eFGFB?jjVW$tagj4SZs`V zjH_vVn^})$;iI{atK>U}R2kfR=E9ns9-eae|zzw!_EM;(y54@?dg`tF^=K^ZQX! zRdIuya)g|7gq(DRoOFk#b%mUDhMj+rtA&`hjaLzko3D?YuaTUslcc?sZ8w*w!I-GO zn^^*$s=A@Ayrr?hr?<~pY=uc%bW&t~thU6hd_JwV#I3*Due!*vxy7-=;k0D}yUE|Y z&+xs)(Y?^{zkkl>ztQnkR$9W;@x#>d!`1J^)azq)l4g06XndM!e45DF^U7}m%G&eG z+VjiX^UU1y&E50P-0{!e^wHn+)8X~i;`P?!_15I}*W~ore;3&0_Sxn3+2;1z=l9#- z=G)`#+vfJ%=k?s__}%FD-s$(>>G$C4_~DHy;_Uh4?tl2}^80ChnreNTYkryT^!)Gj z{P6Vq@b&xg_x$qr{qp$z^Z5O1ewy_6`t;C-p|A_+so-J>Io1=4~j{pDw5p+^cQvhOl*xK9N z-QVEh;eX@g<>&rs69lmU008qzL_t(|UM0xWdIUibK;cTVnb|niJz68SZQHhO+qV6( zsr}|$oQof90ATPWiXu$_8v^)BlJsn~USFJ_5pV?K)y?nD_U6Xg@+rYL$B@ODpTgv% zg!s4$g0Byb)!{4as|#~e6GsG}Z}%L_x2ET3Cx6Gs4hh~LZyCqh3}>v{^;bsla>wk5 zrMYz@qr-zI1P{nCGuxb1)G^c_aZG^TDvL?$OYb^(eYy-200BZ7rsOmY^qMSf(E?Cj zDr+%Uwwo-iibg<{FwApw?(g+qlh2O zFmvXdZ@zENAgwjjLR-FPj8Hm^01`^6bs@xy-REmNJlf;LZUCl6p%E@5t5)E1 z2EfCxhNAzZ?E|;|fVeTzZRwix=i&E8|TQtu9m+owhxg z`idPgKRule$a|rEE04c+#&zACa;@7^izjNI@0qh#|06hSd->+s-!vF|U!e4CFj{Hh z9Dzx^>{pFe1~6O`*CwcX1Jg=$6K00000NkvXXu0mjf Dx03Vg delta 518 zcmV+h0{Q*G1jPi9Nq^@_L_t(|+N4rVXj4HDp4r{^nna_vK~hESA@pJqmEIJ4u!88p zqx7PnMCiRBN{UD!hqQ_Zdn^r$FaNESHSHYY~aYNGgr}JPqa@$RXw7$`ZZ*D9yrUk2^^a{Z5aP& z%xD8zQK6O=AF)Hsnz|DDkF?$`$JUC?-PryZh=dy!TY~n~6ji;uC3Y>)wu5Mq|2@`L4onm~;;#S$044|34baj&6#xJL07*qo IM6N<$g4$~LI{*Lx diff --git a/platform/icons/src/actions/resume.png b/platform/icons/src/actions/resume.png index d6fd07be46015d811386afde91ddcf7d3a7149b7..049bb8c759fc99ddd5b9afcad5e1964e12ed95df 100644 GIT binary patch delta 451 zcmV;!0X+Wx1JVPK8Gi-<001BJ|6u?C02y>eSaefwW^{L9a%BKPWN%_+AW3auXJt}l zVPtu6$z?nM00DGKL_t(|+N6`eOT$1E$KNHFG>J_t=;Y$yQXM+FwV>|)0i_jDP$=D; zq=TE_SV8&+RCgT&K@k-ZbP(zwh~nnxqKHlJ-kn#7HT_`-^nbyFyMy<>pZnfDBBg|3 zLW3cL{w^w&N*HDTWb&?{=<3LLxlz9Oh(ka^S+qS5MpCJw;n???y}8*q4P+?mhHXL6 zWXeh=uQRoU&6#RWi%o!SbEyuB0PIoEuv~YWCd||6YIY(P0Y?Oe98hhENx^g-usnC3 z+Eyc7%`Wzt7=I{t0);53{8OS7jHCmgYvV-M57WE38gH=;+C$KJ1+LUJWZf555}IXz zNgN_ID2dOnu?PZG1US%nV(6eJj2da`5d?xM0@_zBg?PsnTYbnMA4Pf~6@d^ubRa>X zIOk1&>2dk&ZIFpw1gMI&pn(*U3C6eBx4-keb|nUWcPU$W4%!o1!RpOiq51 zqT)0arD-b4Gu4%6E2}M1DSaNGIakGCnU?t~ON-T3mMirvR~cEawY6SnXLH5W_Ntlv zRSSo!mX4bp9k;kRZgF+IXzRMc$#sjR+YWoTJ?@@6?7jB-d+l@ax?t;l$i@4Jr_UY_ z-@9&p^#|NjE`&?ANlUfM$WD~6cpX&#Fec5jU%q?=fS*$GaSV}|nw+4(RlvEyU=c^h&r=0T z6@UKx(W;ww?$8<^4#P}de)D=(xfZTe-s%i(clmHZv$Pd6LNXdw&Rp8O-9|s8HK=3P z*50*qCr{_Lc4=KQu{vQw-@HZ{d7subP0l+XkK3`NIa diff --git a/platform/icons/src/actions/showChangesOnly.png b/platform/icons/src/actions/showChangesOnly.png index afe338a93f66216b6903099aa76c55e8e03aead0..62a395a8d25df2dedf44e295dd562f1357b9280f 100644 GIT binary patch delta 605 zcmV-j0;2t}2I~Zn8Gi-<001BJ|6u?C02y>eSaefwW^{L9a%BKPWN%_+AW3auXJt}l zVPtu6$z?nM00Iq3L_t(|+G70w|3AZ|Ns}0W;6DR?&;Z1Z$O3tJc??Vp!~>84_2_~u zAmaAz+YG9zs?AV#9l9c*ToaJm55)VRLX9W}fSeC91PW@=4S#^j)d3A^gt`Q72n&)r zMiB8m_#c>Kps5d+xY=^~KhzZR|xy)nKNKI+a#GA zs-f<}^@|OxFPN@;-uFS1=@Uy6n+;bziUBS=%($_+00e-VK>>b6!(L1C8rxNd&+FcS z!sV7+05w0kO|Z* z0@D2TJJ6S3zcSqac$Y!OO6DB83l<`~fQf;r+mhR8m5v^o=DT+p1OxTG1qg1kasBqSuIzr6hX8-F<^f|Bxo&b3VctF|!xzuk7Z zCG!un<)eppQ8n`ke{}om5M-=x^cx&IurvTli6H#;?OVn+pMQ)lzW;8>{Qb*V@bNpt z-*4aG&UXH06VCjPc^Ax9CTLQHr9gNp+;;R^`eR_y5&*Kx7}@{JiA&rO7n6`<`@^;a zB!6(%K~@Izln4eE78d{K-(+z9c=LqK3?|mQwt51aUOto9W%HZm7sE@2?^rVvHUKmT roMfLrWKaWA+tKCuWd*=AK!5=NVruGg?kD(G00000NkvXXu0mjfs^=aE delta 804 zcmV+<1Ka%T1h58>8Gi!+001a04^sdD0pn0iR7L;)|1LsbIZ0nILR>OJTRKQwKuujl zPhB`fSbBF*Y-n9gPgPB1hgDfyd1q2URDfMxTV7vVOJanIV?tGGn_+aGVsM^fZ=Fz4 zRcB~>TQnAbb6uFE#eZ{Mi|Q!zuD&Z+2;7%==j~;nBVL9;OqJ0OaSBU`H$g4tw|_tYxjz88(D1t1?z@gZyVLPYp6u4;_f4qrP^|Nrbw_cR)pEu8bWbC8 zEC6?YiBqrmc`g9FpI^P8VZGDwzMoycKLEhbHG>OY`~u^v#p>*GBZ(NcGxI z_T5(aO#t}VoA}$T_~20Z;8pnHQ260m_~Kaj`~Le}0shvU|BOrjkx&1VP5+iylRc&( z0000VbbnG#Qvf9>fr*ZglC-tS(bn49+T7gV-{s})@9_Hk{QUj>)o>-y0002pNklQ!lZ*&R+XoD9r9ox(DWQ4YFV%9^eVCRs5suy8YondaxDC+oY< zGf9;K8!Kj{Y;9K&IkzFe1>$%ygOET)h51c>u~6TL=_!UO%$e=4p$!$_7Zq`noYJdN i!yUtb0A6tkU>X2ZzBRn!B`1Oa0000eSaefwW^{L9a%BKPWN%_+AW3auXJt}l zVPtu6$z?nM006{EL_t(|+N6_B4#FT1g@+cS?W%EOJdG#f3M}ME9>JTqbK8}rWk!fv zppnw1lfdMW;pH2C7!kpi;BFE^{IqjpYjP2oUB8RD9GNiJf`27g(#Kx{J}F2Ar3gX; zxHL~HOYeiW#0;eF?a4`*BY@_(gR1h!()R>ihX8GKMrne>9-ywhfz}8G8;SA+h-in2 z^rvcunn+FkeCVEEu~ z_~3YmdQ17^f%)Wt`Q?d?bpZP7p8D*g`|YXw?ydXpt^N4h{`JKE`|$q#^{3~Y z@a^Pe{5(9bR6dW7c2ImxGoy$Zf4pcLN`Vr;I2{aQPw`&9^+KMB1l^64q9^4Xk_aeHUeiI{a%-K&5FV(+2aRyJjrjkhGEzM*oQo%!N4$JmT=NF doLk>+i9h6*9DQ$&XT|^k002ovPDHLkV1hgSBBB5Q diff --git a/platform/icons/src/actions/startDebugger.png b/platform/icons/src/actions/startDebugger.png index 3a1c7df2d1d38e83faad1d56d4f20e68534762ca..454be01a987b37d8f92b2f9d31329e77c6c15845 100644 GIT binary patch delta 574 zcmV-E0>S?{}%y!sau5j_c(K(S)=AlOed^y5(JwrN#tYV~4lc6N4ryP1v9_SSovnhA_~BucQnzBP&GzbFZS#{%F!AH?AlqJIzZaWwy_Pv?pD9i#Ys&YZ>J zaT@i&+hGrxhxr+Y5CIRcba3~lm3xNnEyRPtS^;?Aha0iLAE$O>ly-V>;m5?-w$U@c z-koi7)jWwc(s&ciBPr`~=5QwBwUqt>rMVou$W1$oL$Bx_9i+TQA+_0XqNi<)t}PVlenJvb#<8J(J1pNe%Nq-+nL_t(|+O$(kXj4HHz4!eZMbsu0QM8hU5C|mVP6((~{G=6i zA#TKlTNffIE@H_HSP)zZE=56H=t7WUq*b(PLGe=!S`jIdVnpdnMHjV6-@KXeCe91g zE~^&~^SQ&hcg~zatu-tr@ShMA3WX*MBXG0dTqB`q_VHS-RDZ1QE%Uz#tcb`QESmKr zGcuC{bX>N6XmgQ@%_DH4$*Z-!eYSPEeSaefwW^{L9a%BKPWN%_+AW3auXJt}l zVPtu6$z?nM00DGKL_t(|+N6`eOT$1E$KNHFG>J_t=;Y$yQXM+FwV>|)0i_jDP$=D; zq=TE_SV8&+RCgT&K@k-ZbP(zwh~nnxqKHlJ-kn#7HT_`-^nbyFyMy<>pZnfDBBg|3 zLW3cL{w^w&N*HDTWb&?{=<3LLxlz9Oh(ka^S+qS5MpCJw;n???y}8*q4P+?mhHXL6 zWXeh=uQRoU&6#RWi%o!SbEyuB0PIoEuv~YWCd||6YIY(P0Y?Oe98hhENx^g-usnC3 z+Eyc7%`Wzt7=I{t0);53{8OS7jHCmgYvV-M57WE38gH=;+C$KJ1+LUJWZf555}IXz zNgN_ID2dOnu?PZG1US%nV(6eJj2da`5d?xM0@_zBg?PsnTYbnMA4Pf~6@d^ubRa>X zIOk1&>2dk&ZIFpw1gMI&pn(*U3C6eBx4-keb|nUWcPU$W4%!o1!RpOiq51 zqT)0arD-b4Gu4%6E2}M1DSaNGIakGCnU?t~ON-T3mMirvR~cEawY6SnXLH5W_Ntlv zRSSo!mX4bp9k;kRZgF+IXzRMc$#sjR+YWoTJ?@@6?7jB-d+l@ax?t;l$i@4Jr_UY_ z-@9&p^#|NjE`&?ANlUfM$WD~6cpX&#Fec5jU%q?=fS*$GaSV}|nw+4(RlvEyU=c^h&r=0T z6@UKx(W;ww?$8<^4#P}de)D=(xfZTe-s%i(clmHZv$Pd6LNXdw&Rp8O-9|s8HK=3P z*50*qCr{_Lc4=KQu{vQw-@HZ{d7subP0l+XkK3`NIa diff --git a/platform/icons/src/fileTypes/any_type.png b/platform/icons/src/fileTypes/any_type.png index efd5f7c1ed0857b1c4abaee1c2ad5dca5ab96b64..f7f19f95379e5d97ddd40afa72e918fb33e5202f 100644 GIT binary patch delta 122 zcmV-=0EPd(0lWc_NpoIFL_t(|+G70w|33o=%$++I!oUq0fVdIFNKQ_M3o$Vj$N!0`XobzmXglJOyG6s8>k#0wWHWk>mn~Q3Hmp0W3I@E&W`;2+Pjo c0)PMm0QkHS183NHjsO4v07*qoM6N<$f^v&3-~a#s delta 123 zcmV->0EGX%0lfi`NpxRHL_t(|+G70w|33o=%$++I!oUq0fVdIHNls1%(@YG+1CRmr z=z=U*6f$BF`wz9f0m^U0X8=AIFrXVkiWmMPd7*(+7cin31P7$J04o?ZU|1Nyf+NMz d&jkPh1^};F5hR6>%ijP1002ovPDHLkV1o6UE=T|X diff --git a/platform/icons/src/fileTypes/archive.png b/platform/icons/src/fileTypes/archive.png index aad1b7b89f9e850286e1f9a76a4519c9925ca4b8..17072c7adb7878ea5a9f9e52909c297ad9e5193d 100644 GIT binary patch delta 138 zcmV;50CoSu0m}i9Nq=ogL_t(|+G70w|33o=%$++I!ax8=AU*)ZPC&dDSt2<(nGwcj zV!#dRp>zu#H4H3R#9*d_T+{%>R!DN_uEgsCMqHYRHQ+y*K_nY6>VlE&g8xu_5So0m1>0NqJ;RL_t(|+G70w|33o=%$++I!axOfK+Fond(kD5lam=iGz$ZM zPz}U<_!M9>fDw)VA59F!rA!1|@E?nT45S#qh;AdP28_C3)CFX_;6D;R2*mr*#0X|4 iWY7Sm9dIcC2rvM{5gq2q2*D))0000%tNq?J3L_t(|+G70w|33o=%$++I!XN@9Cnqz)*h~x*0v0S{VAB^Z zS%x7I7ZdfLpaH>~S3+ohX1JLD$G`t!2BQOFy}*b|0+#{xK>Qy{GeFrS8PEu|wSkb+ z2)TfPTmu^L`I}fTP{jp|z$lai(jSRVNNat=8ITfEHV`)faWN|?DG?b=g<_JD@_%Tu mWuPPshz5+X>`X2I2rvNf^d_gf8%Fj30000J3mAbhAPJ;D66J!mzBJ+J2`L+hn}E2L6fYoy psZdOG82rbTY)J_Nq5(jF0RSh=C9k|E)ZPF9002ovPDHLkV1jqJN<9Do diff --git a/platform/icons/src/fileTypes/css.png b/platform/icons/src/fileTypes/css.png index 7c4ff929f502d7aa89d9f56d4567b43a568d7f44..6f018c7688288591ad39e9011128322997d2f129 100644 GIT binary patch delta 260 zcmV+f0sH>30>uK5Nq^@_L_t(|+G70w|33o=%$++I!oUq0fVdIHNls1%(@YG+g9IS1 zM;BzlqL2}b7|3;wK)fHyhr5Ik-3!<3Ph%LMb6B z)JtU;c-1(u@(D(xa;7B1-RaL6KHvI|l~2$BkWDa6*!UP;kn$CRhcL)1Fg8dWIrL$C zlypFGEC3TrGc=LZ;nDz9(}b>uk%Y{IlHAG3OxR6=xqw^%5MTg-4|pQ`vgPdn0000< KMNUMnLSTaAOm?*Z delta 240 zcmV3aM48Z3C26RJ6@xp&3FEn6tK?okr$leOZ83xzvPp=`tMGVDv zPGg3_^DXZfo^E^#W@}W)GJL-N4bC^2t%@QK;$s*9k_1V>z-f(+$0&Ssd4homQhX-$ zHcmcKv4GDI3@=Fg3&SNrVF2<1OdJGYaxgxI0g^sKV2o@Vx@&Moqt-!FP+C|^z(=rj quoje=kPRRy4Zso?69a_+Aiw|$Vj$N!0`XobzY(VaA^e*#bg%j72cn*$dxdB(01agXVQg}^46p>^b3ptX zN?YPG9G3yhf!Gl0MG(D$R09}7o>!vKq#6*mMzZ}CH~=AZC|*eh0B!w$_qQYuhz+7a zd|U>w;1Hi&{w9G7$_CL>fY_WU7eM{2izcjtD=cuifScI#jbT6p*VX?drGP00000NkvXXu0mjf;xk-a diff --git a/platform/icons/src/fileTypes/dtd.png b/platform/icons/src/fileTypes/dtd.png index b461aa3328a7dc72bc414f62281e0e09cee29181..bbc3a418a822bc19670a52af1e6b7fe959fd9479 100644 GIT binary patch delta 218 zcmV<0044vJ0-FMmNq@abL_t(|+G70w|33o=%$++I!oUq0fVdIHNls1%(@YG+gD4=b zM;BzlqL2}b7|3;wK)e^qhr5Ik-3uZ7n=lMm^U)8*doVTpAsbO#5Q59?FbzP1f-#&6 zbHT?o{{ICJS zVg=MU0OU`Y|F8jcdFsUiFpfi@alRIp23R^kR>Md_WP0+<4jNq@RYL_t(|+G70w|33o=%$++I!oUq0fVdG^AUQdifr){505YH+ zU62KfLPjiN|Dm=wK>3aM48Z3C26RJ6@xp&3FEn6tK?s=O-^75=TWdc01;f;RT(b$) z3qZj&gq(qH0Y(`3P5lC-+`41OBmS;rD3&F(10$vvY<2VEw=QuG)4YE2$5^^I(;vzLSVg&#J1^`~HMFUZ- R%`N}{002ovPDHLkV1o64R!{%{ diff --git a/platform/icons/src/fileTypes/facelets.png b/platform/icons/src/fileTypes/facelets.png index 86db77ea4d5b698412a3efdebb4d75157ef3fde8..57210753fddebbd26d937fbfcfe18274cb1a1419 100644 GIT binary patch delta 260 zcmV+f0sH>C0>uK5Nq^@_L_t(|+G70w|33o=%$++I!oUq0fVdIHNls1%(@YG+gD4=b zM;BzlqL2}b7|3;wK)e^qhr5Ik-3!<3Ph%LMbhVZGCzR76b8-T?gXh3Pd<~ zweJIidZ`QpuNo(YMi{^wjmnvl40oqLXZU>UJBsT-E+fhSkj*edkX<0GTs22;s#1aBcBx`YL0ICT_SHnm`W3aM48Z3C26RJ6@xp&3FEn6tK?sPrW`CLipSQFQng+wv72i3H z>II1RCc!F-Q%vIz|$5BSzvPH8)}f009O7VFpeE1PV^c00000NkvXXu0mjfF?eET diff --git a/platform/icons/src/fileTypes/facesConfig.png b/platform/icons/src/fileTypes/facesConfig.png index aca3e0a1658921dd4129421c6dea6bd9350fd28e..cd8ad8cae8ac20d7d1b3bfb0a8571fd625234fed 100644 GIT binary patch delta 270 zcmV+p0rCFz0*M2VNq;LzL_t(|+G70w|33o=%$++I!oUq0fVdIHNls1%(@YG+gD4=b zM;BzlqL2}b7|3;wK)e^qhr5Ik-3!<3Ph%LMbhVZ6A6I76b8-T?gXh3Pd<~ zweJIidZ`QpuNo(YMtrdV2a(%8WSoIPg#k4TV1AVH6@v4DwgyKSGUK#_m{3aM48Z3C26RJ6@xp&3FEn6tK?sPrW`CLipSQFQng+wv72i3H z>IIIK;;Vfh7}QH;7k6TZ1DEnXy`cVF0rKkoc1E-K4;DxFrAW;0>+>i#Oi`?|5%vbJY?JbX9d%qzw4P5k$Gp6Fw9kC{K9be6%WJBA42T^IXTV$yk?r= zvcE20?!|d_f(9`A{F}}2k>S3H@MnfcuXq`jUy)+?!_33L$-}`Xx_d|DaXXJtg0b+I zgC*<7ZN^_V0)L+w^f-Ppbl;R>xb{|%;Xk_?%e_bcXRKAKWXEd&d(y8R{~6iazTNxx zSK%S%*I9RBVduk&DhjE;|VbkIgqG+#ybkg%+c zi|9c}NYo;Owka(l34$m{DwL>&5VUDgEfOpc+LR%cw#aAM!&gq@yzb1MJ8$ploa2ap zfCql}oO{pxeZTK~zwZcy5Nv0pvBz{**P<=Md0&*x1Ea$SHGh>vplD$PwGd<;3f!6u z@45`17DRw3bT5L{%aYLIQOnf)lvXNr9X$@CqejWqDzxjMcNV2Tp(P+kMC<1~ip3@U7FTbY_e~6gYwy;v}&JAQIg* z$C)9lOgOOYX@5jst*^VVaK_cX&sfJR^JEo_8B3072_#990|-pS$txYAsbnIMn^|fe z9y*S!ayRzdzr#C6t9eaxUZv#nkFe?E&96@>L>zGnKm@{P&S2_gou>XRyB+nZXx%l9 zm4#wF8f}9=rxwM9*;RJQ^}Z>-9O$pUaO-@-jWmL-&VO-$5LJETdClF`W&Ac$h1(5( zAjK@`A9r9#se~!35S2Lv<`yl{+v-|!_tx~53LB{@04j_^&lvMoH2+#qqDHzt5nez= z!j4x7LJb%&ez@jl9NNDu}ge?HpYnf8_)3`qN$r&ZK@+CF+MHh49n0Fqhd`UFx+VRFS zg8?ayp9bqrqyTsqE@hmAhdV96UB>{!RPUjZ&OS*_bXybo@aRi1o>_!viPtc}fHCKw z5Z0m_3^sesbYOb0jVLwBk;TEDwd?}RjA{MOQg(7SB*`DpA~j(Z3N0;O9_f(iRY?~l=y{~Wz(bF=mV32E(eRe#@+0igS8rIA`aDXg)2Pb` v(I5z$Qqh?$$mTmAFDTQq!gjCoe*p#nZ}pbHj*|fj00000NkvXXu0mjf;{9$Q diff --git a/platform/icons/src/fileTypes/html.png b/platform/icons/src/fileTypes/html.png index 90a385cc602e5f43b811864ded2fa3626f7ab3b6..61ed4a696ed14b03c6cc86863fbf69072b8dfff7 100644 GIT binary patch delta 194 zcmV;z06qVS0)qmONq?nDL_t(|+G70w|33o=%$++I!oUq0fVdIFNKQ_M3oRyo8B@=`3fPs2CD(21R?{;1_1q!;uVq&06HJ+6+5yGpx6r(831xVGK~wc w;LylOtP3y<&^l=PpRQrR2+Pjo0)PMm06@(zu)+7ELjV8(07*qoM6N<$f*g-fR{#J2 delta 200 zcmV;(05|`G0*L~UNq?(JL_t(|+G70w|33o=%$++I!oUq0fVdIHNls1%(@YG+1CRmr z=z=Wh0@v(MGop)W9W?z9wY>o<1a}E87yO6eGpV=10*jU`Yd|ujo{#|y&o;jUQ9oe( zxR|K_NE#am8?fmui24b&oe_kwd5?ua!10^RRz;2-(hPw4UqQ-Gm_f={2&)>r1^{h` z8-&XMQqsXtGXUm)bT+Yp$VjXUSa76!`h@{NfB^vb-81cO60^Jj0000edkA<#I-ib3*dYA{nGk${n$%!J(}m3aM48Z3C26RJ6@xp&3FErqEfh1Qr13qs(|F$w1rf%EvFF3t` zGe*!Y!0Cm~S^jVugpZzGfg(=O0Ax^}wvpk;+2vT}ND0ING(Q03Z)@WS6h1607}4_r zFq9eb#R4%&8CP;fPX}wUx_|`0NNR4x3IGBO06srC>_4AZ8vp diff --git a/platform/icons/src/fileTypes/java.png b/platform/icons/src/fileTypes/java.png index 1dd9dcf451a75e9d673720bc86e3e14a38e48230..f459ad462734e1fc5e35d2ea88c7263af69dc071 100644 GIT binary patch delta 178 zcmV;j08Rh$0rLTnNq?0|L_t(|+G70w|33o=%$++I!oUq0fVdIFNKQ_M3o5Cdpu0Lb}D_7MaPV4)-cu`3z?)yPP!7g%s4Tlxhe gBP=_U3jhKP00UttsHK@6F#rGn07*qoM6N<$g2Hh_rT_o{ delta 177 zcmV;i08an&0rCNmNq>|{L_t(|+G70w|33o=%$++I!oUq0fVdIHNls1%(@YG+1CRmr z=z=Wh0?(Ag7}3R~?ymX|wY>o<1a}E87yL)UT2O-jCP@SOGjQ dkP83;3;+&GO3ZijcL)Fg002ovPDHLkV1nJGR}=sM delta 211 zcmV;^04)Ec0+a%fNq@FUL_t(|+G70w|33o=%$++I!oUq0fVdG^AUQdifr){505YH+ zU62KfLPjiN|Dm=wK>3aM48Z3C26RJ6@xp&3FErqF!87GBoZgbUyUGb!4GRGq2^r3a z*9-R!u3*^H7y!l~HnJE|fq3u03I><@4PZ7%lahS|SPU7E5=@9-05gzm1BgjTZ~$^L z%)cNu=>|ANfH6LA;4=VQl15Gk`*0cXAE=0+-+^iv861)+4@7_f0|0-RIxwgR4|f0n N002ovPDHLkV1iIcQUw42 diff --git a/platform/icons/src/fileTypes/javaOutsideSource.png b/platform/icons/src/fileTypes/javaOutsideSource.png index 46e3a8a0cacf224a2fcb35e6cdb719364ffee3ff..41be87bb379bf6ed41f76434baf38b7b54cea2db 100644 GIT binary patch delta 334 zcmV-U0kQtM1FHj&NdZlfN+ExPC?Kv!7i7VrkP(X*$aRiDycf!cyMz=MJOyG6s8<+B zHGmO^%dmQZA$apjFzx^GFN%0vOcY%H0}u;r*oEByJfH-KWeK_f8Eo@&4gPoM_UwPJ zUI_RtS;n|gTk$Kaz0={}2luTdXuvjKm#{x4j;&zU)@5Wfw`AA>42FNd5AJaT#a6T0 zIYt1Ltil_J|L)$I!K|gj$fBmfz{tkV;4yz01BlJ6p~(o6BNz)HXEQ4*VTdy;t1|q1 z`CNe1bbuA$HGoM>;=|wj_b|l&-o3-XBrf>@S0Mgh>l+TD_Z$8AvQFvH-X!k>C&7s* z#z2?h&#fB_e{Wp-&tgJhl?6^=1ajkY!|z|dD&4po$@ua)H`sJ>$*-(R%1OTu?Oz2- gNN@wl1pomC0H&CB;VknHMF0Q*07*qoM6N<$f~1t5cmMzZ delta 348 zcmV-i0i*t_1Gxi`Nda4tN+Ev(kOB4Rf-G1RGGYuAsL_xUr1zc;S^XR)x# z0tz|eGa&8v!F}n#(Ed=jBh;_q|F56QAi>{zc6?7R!~atfh$I7m00RJh$#7wUjW%ik00003aM48Z3C26RJ6@xp&3FErqFLHO?rIK8!!)gTyI4GRGq2^r2v zloz~LUIWwpr=Ee?Fg~e)$Z+b}XNC?Z1qNMFF1Q#efyhv0EmO5N09g1s UL#p!LB>(^b07*qoM6N<$f=4}D*Z=?k diff --git a/platform/icons/src/fileTypes/jspx.png b/platform/icons/src/fileTypes/jspx.png index a783af0c5cf36289731a3347e475ecfb59dcaa3c..50ec850804a8f7017d70bd5d16be30a79427358b 100644 GIT binary patch delta 297 zcmV+^0oMN80_XyeNPhteNkl^$)}%SnkWN6Hp2`7 zfxQntGD!2XfoZH>fcZ5_TNEpQ--8bfoj@;@?R&rwp(TQv4# z9$k$V*jDGH$eG~_zb}30tR$LNb$mdBrh~zb3q7*2>*S70iU;4vKj=#)P0$e zi|PfS;2J{CK(_#=7ra+q1Jlc{z6P^l{M4;?7~cQ*1Ez@z#DC4V-!XJJDKO}Ya)J2{ z^85@H`yYa7q5`qXT9%>h=wpV4Vi51J$LR$)2ocx> zrgxuz#lT>%4`MC>;tk}u00v@!E?E;3qWK>hE|@L|yM7)_Z&!NrgMq;pBIar+_TTm5 zbB5jb=fGS-whJ%-P6PZzIQ}yom;JwGv*>@a44~Kr182Z0O~d~{985PCFv7Akxd0%* Y0OM*j1aUIgu>b%707*qoM6N<$f(^Z2bN~PV delta 201 zcmV;)05<=h0*V5VNq?+KL_t(|+G70w|33o=%$++I!oUq0fVdG^AUQdifr){505YH+ zU62KfLPjiN|Dm=wK>3aM48Z3C26RJ6@xp&3FEo(q0!B20;D8htFkG`g4WdFoxa##H z;#?3SunA1>KL3h=!CoI^$QrN!gk&Vv1^-5BEtr!0gR(AAl?NuiN^n=7(lTL7-89&TmTSY0OY|G5+Pss Q^#A|>07*qoM6N<$g4=y4%K!iX delta 110 zcmV-!0FnR60m%W7VrRxlPEH2XObo;WkOB4Rf-G1RGGYAvL_t(|+G70w|33o=Oqw(a!oUq0fVdIF$ji%v3o$Vj$N!0`XobzmXglJOyG6s8>k#0wWHW;WXes6r;0=Hh^eAu>mZ2{ERPF z2paI8$mqps0J?_%q`CmFCQ`$IWCQ-wH5wUV*_m7b5MTh_5E2**w7+yB00000NkvXX Hu0mjf8<9OW delta 154 zcmV;L0A>H$0owtPNq>DwL_t(|+MJS$3BVu>M3dsYu25aUg|D@>AQDs01JQ)|@*xU9 zs!A#EW3F_c{24LE=RRaz6>yHuU<9h+L(86;ojrh8fs7EQ1#~SWwgMeM@&`co5#D@` zjS98^(;W#58Py{PGNY~ntY9z|xP7xTpaCGZlUij{mjD9*$>L_t(|+G70w|33o=%$++I!oUq0fVdIFNKQ_M3o$Vj$N!0`XobzmXglJOyG6s8>k#0wWHW;WVHg>TDRU$7M1To)FJ~+M0## zY(jyE9*|=A{6;7Y>Y=tXl4}57&BPeMNGN&;8StM{0|>f+g(MtX$w`U0oe0a$P!L_t(|+N4qe3cw%;)X`6SNcNE4>ekjqh?%m3NJY=nLS}}J z*4ksNLD#9TlXJfB1N`U&MFx|Sh)Rq{cN%`R2rLC4Ng^ZgGy+8xpdk8SDJUbEwdHvf z(A1gd#d#HMi#0one91LgvdNq-1QL_t(|+G70w|33o=Oqw(a!oUq0fVdG^ATKYEfr){505YH+ zU62KfLPjiN|Dm=wK>3aM48Z3C26RJ6@xp&3FErqE!4I2k27KP)I5IUDrmpMUUz}dR z86#*GFyiz=xiJeE@0ryE=VJqS!=Ur*ABNpCoA3ql_~s{^y8H4I-ZZwUOuulYIOI8{@G=|A61pzul-eEvsC_e)QAzviuu{m1x0 zhJoQ91CZ7S3NONC03*6zp#VKESYa3dOeh#>K%PMhM3p{qx^?d_#~(c;sbi$Xf~D{! ssTs^aSS~UAXCM3tN z#D@VA_z$uf4KOm{b3QUnbSywMz(X9_??f4(b}se9gFix&P-SVBP=_U3jhKP Y0O@x-OE8p!uK)l507*qoM6N<$f`C?B8vpL66Ec9|+2(gB{J5B? z|414e2ph2JEu0Osoe_kwd5?uq$eGMmMUEZP41oDx%1@X<%2`(ks~Q#pw!;m=WdJGZ zfFc8&LAdVXb2vLhU=wkH2m?UPdqFfzBP>vv2>BnKO>7`CqS;Qo0nl`h0@fh;nd-3s a5MThPR6dLi^}nY80000nQ&3mu^W@roK z1oK-1IDz~>SPj82;PTVI49idbVwe-hjUqlLjteXflE-U+t~4`4q$wLi%A#*5;vhaq z93)TB3z24Q49*%XV86q{0K^B0VA>0Nq^!=L_t(|+G70w|33o=%$++I!oUq0fVdG^AUQdifr){505YH+ zU62KfLPjiN|Dm=wK>3aM48Z3C26RJ6@xp&3FErqEK?wgQ27KOH^U*IDrtagKO*p-P zGe*!YAn1kVr++b2t^W>YS8w)Fd!x=<4Vrx>0m8bAqlw=!xB<+BUS(qU;txDQGYnXC}RKs002ovPDHLk FV1m|{ab^Gj diff --git a/platform/icons/src/fileTypes/xsdFile.png b/platform/icons/src/fileTypes/xsdFile.png index 3ebe69957494be7049d5ad213f83a838fb3979f5..026a263869eafda77fabf006603f7995b32cf76e 100644 GIT binary patch delta 310 zcmV-60m=UH0`>xsNq-ngL_t(|+G70w|33o=%$++I!oUq0fVdIHNls1%(@YG+gD4=b zM;BzlqL2}b7|3;wK)e^qhr5Ik-3uZ7n=lMm^U)8*doVTpAsbO#5CS6nrhdWVfMs9} zaWPTB$Z8ITAi3b<8vp+cBm$rd7*PT-eaSb5_uu}5X%JX``hOSLHkgetHb@)>Pz-QT zV_~S?@EuHpz}8E@8QKCl88&6}z}0}*%TM7jz*UQt;mP}dU>XD}JUJLTw*O$b^6W28 zZ=e{k_r`AqX#plM4FWn+%y2`9GT^|?KVT>C2huPz>% delta 305 zcmV-10nYyR0`UTnNq-YbL_t(|+G70w|33o=%$++I!oUq0fVdG^AUQdifr){505YH+ zU62KfLPjiN|Dm=wK>3aM48Z3C26RJ6@xp&3FEn6tK?s=O-^75=TWdc01;f;RT(b$) z3qZj&gq(qH0fraSmwaP*|Ls4R27%?Le=+z?{Q|}y0Aqv1v40xipvJ;bz2Q5U27#@Y zelxTMax!en=7FmLv6r91VSuX^E5nob|G+c|RCsbQbZq~@aOK%wtX{$}VDF9J4AKHj zU>XE;q?qA`5M{uDn}5Jg-VdZooxxj|6|M#(7HP@`i5{f95KK%g;B^5ojzgev zjuV5_Age=82P$izh7fBxBdJN50nN1x{2?0|00ImE8*XW95oTGM00000NkvXXu0mjf D2oHwA diff --git a/platform/icons/src/nodes/artifact.png b/platform/icons/src/nodes/artifact.png index fa5538c5432054084adc997db782644c631a0780..ec9d240c786430ea76abb3c3fc360b8dbaf66957 100644 GIT binary patch delta 552 zcmV+@0@wZC1hxc_8Gi-<001BJ|6u?C02y>eSaefwW^{L9a%BKPWN%_+AW3auXJt}l zVPtu6$z?nM00G!ZL_t(|+N4v>OB+!TpZBr5jd}>_(u5L3P(=J#Dike+LNI@T;I%zi zXk&Zq$%_ZUqjygVJ;ZB+g;KnffTow`6cC{Y!HdM&jc7DoTr+(6G>M8dOmmKP2)F}*Z@D~Fx;<|3TdDQ>o zTh8lqq2vw~+a12|L&poujV3A9Bhw(&vf4qi9RQC?>wmdSPuE4FhQEU&HOd%9a7a}v z-h-bz9uU$b?z|3AD8vEA`!mp+e%LfZ0b9T>u9r9mHcSrp0$9!PgI_0|C2V^6GI9_r zA^COR!>)k;PvoFQj#{Y>}%jdzv*0t^6bak7+6EYRHm0000Oe4GWiWi;!X4eg6Q?#Te}jY03r2Jg!U@6HbJ&JXa=7x2*-@zf&n z)g<$uMDy4$^ncqq^|6BW-URjEMD^fC_QzND<5BkHQ}^dy_~$?P=}Y<2d->!{`RXP4 z>QDLWYWeJ1`R!i%?@0UZl>70A{PUIk^qHcIGMjq0-W4TvTy+riD)YYb_QX%fTcr-t%bCv42&$^z!|W@ltZIoZ1;#su;}1PpTm?BXLG&3%=j0&&JRSt$vz5!Q-Of$%U>eS_5G zbPbq5Xi2b%pO0>uqAFB?C&*vV+si{qQ3Wc%!o#oQ>Fx#;fbc;=l7g1Kk9WNq_%IL_t(|+G70w|33pIfDvRsR8$mPU}n4^PQ~d9-}eHk$3Qg` zKzv^JsSHfm6h40N)baN9yO*CndM1LTxgSUs0kJ%?S{7^uu&^*QG5r6h{r%hbTR=n9 zn)Y*61BDBKcmmM&LYPaIxid__aKV{l=k!0kd+#G6CY;H^!G9+3`RmWeT&yUXQCx!J zf>f3JtX$lj%Q?9?G{1fQx{jBhH}^lo=PBuiAHMT)vp1(NWavkB35EgeoNVy|g1nj> zoa_w0fBy;k`uPhZKR;g{1H;FOK$kq>VBzHa@du$9!vJn>&OB}&P6jr1HU`$;e;B@h z`w{r%^JfO2A%8^-|3CF-8i8F>%fNt$DU>h(I$epCjfH`UiID+B1NjUrtjs_|zS!{# z@D*`$FmwL=@$()qV0o|_z|6vQkC71~#K;IWgcELvEzposRu(4FKfiw;!sZ3<`)?T) z^msujlM%%b1_lm>@Be=Ue*XOBF|Pn$?C)QHzM&hy3V*~amR)4y;p6@LPf?VS38Wcj z2n#C<$e=slzyDk+AS8GSTSDRj;^{yBFlJ9b@}Dc!^3Q7(G3Mt$-Ae!e{ksK>ky+or z{hZ%+g#Q=Ak@s-Tz=Q-hU=Y2w z&J0XA)Y<^?Wgr$o(%cWEihx)iSs^Y1*nwCZh;M-mfod)Q;t4?83qdXc;sRU-=mW7g z5N86h0OP+ukN>f7AZtc(2@9HLRv=yu#F{|74v2IAGqFthWPcp~9Y{B$y9Ap7@leem z5Cp`GK%58EJdyG5?VFEJ5 z4r&M|kiG}RJh%+Fha*-%hS&meDG-YS@gWQYfC1#q^67;Fo^%87o+fw%?50H9`2 z=&#_pxto{y>v-FLI1IQ0#7lvA2{eXKT)+jy(;5H#`o?>88xzatSFeHmOF;Yuh|d9W z1~g%vLN^s=z$$3sn9BI~*K^)0o1LKviWi8Dfp{hm|H7G>fZ!+)GXrr4FpkSe$&HMZ dW@mr^0|4!+aOW~wk%a&N002ovPDHLkV1h?zs&)VX diff --git a/platform/icons/src/runConfigurations/testSkipped.png b/platform/icons/src/runConfigurations/testSkipped.png index c1bfdf33760b1ae9b4d228def4aeafcfa3df59b1..d7e4ee6fbc999b53615a311981201ca0b1ca8537 100644 GIT binary patch delta 318 zcmV-E0m1&r1I_}F8Gi-<001BJ|6u?C02y>eSaefwW^{L9a%BKPWN%_+AW3auXJt}l zVPtu6$z?nM008hwL_t(|+Psrbio!4y#$VIgq=h+=8xb7T?Oebcc!buaf`~Wp0W_)k*Md(ITErNj$e!M?l)0ZR?5qf1QdT})xj8;Dd)PGbHg??eY{w<72OYrGb zmHX-E?CBj0-B+_bE%OgU5O^5a$&JBac_?(IOPv{tlf(;*7;=pU{l&LyPF=I6C{}b~ z@d6`;9BS?w^ya(5b%7 delta 441 zcmX@dbb@(;WIZzj1A~Sxe=v|bAK(+>`v3ob9j9bur0<*n4)!tbg!x!^2-29{tHU^rdCr$M#GACm#8@;N%B~sju@7d@Vox z(SE`Uhps1^pZweY?0@~f&p&0uPXhg>R}$nG%pfW*p|MBCOuSnqAj~_pOrB*e@0JT{zG<}eC_4%@vhnMG#%+-j4Og58_RaJefa#*0tA(kLK zY4TOmtCs@<#Gf@tug+O#wERQ^Ps-dcQvz5_=6nqaU~%dF8WPCzLnY;hWCshw=UY6c U*A~bK0iD6%>FVdQ&MBb@0JCV%w*UYD From ee73ae444f77fb9cf4f8e6189a8a5c192e8461fd Mon Sep 17 00:00:00 2001 From: "Gregory.Shrago" Date: Thu, 11 Oct 2012 20:39:18 +0400 Subject: [PATCH 5/6] IDEA-92670 Settings / Code Style / SQL: no way to control Tab size --- .../application/options/TabbedLanguageCodeStylePanel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/application/options/TabbedLanguageCodeStylePanel.java b/platform/lang-impl/src/com/intellij/application/options/TabbedLanguageCodeStylePanel.java index cdf701dec2f7..e0b6099a396e 100644 --- a/platform/lang-impl/src/com/intellij/application/options/TabbedLanguageCodeStylePanel.java +++ b/platform/lang-impl/src/com/intellij/application/options/TabbedLanguageCodeStylePanel.java @@ -543,7 +543,7 @@ public abstract class TabbedLanguageCodeStylePanel extends CodeStyleAbstractPane //======================================================================================================================================== - private class MyIndentOptionsWrapper extends CodeStyleAbstractPanel { + protected class MyIndentOptionsWrapper extends CodeStyleAbstractPanel { private final IndentOptionsEditor myEditor; private final LanguageCodeStyleSettingsProvider myProvider; From 86c78e5326eb02c41f3e717575ec22c234056b24 Mon Sep 17 00:00:00 2001 From: irengrig Date: Thu, 11 Oct 2012 20:48:28 +0400 Subject: [PATCH 6/6] vcs server db layer: path state queries --- .../changes/dbCommitted/ChangeTypeEnum.java | 10 +++ .../dbCommitted/HistoryCacheManager.java | 4 ++ .../vcs/changes/dbCommitted/PathState.java | 40 +++++++++++ .../vcs/changes/dbCommitted/SqliteTables.java | 2 + .../changes/dbCommitted/VcsSqliteLayer.java | 72 +++++++++++++++++++ 5 files changed, 128 insertions(+) create mode 100644 platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/PathState.java diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/ChangeTypeEnum.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/ChangeTypeEnum.java index 315745afce7b..04b564280b1b 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/ChangeTypeEnum.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/ChangeTypeEnum.java @@ -41,6 +41,16 @@ public enum ChangeTypeEnum { return myCode; } + public static ChangeTypeEnum getChangeType(final long type) { + final ChangeTypeEnum[] values = values(); + for (ChangeTypeEnum value : values) { + if (value.getCode() == type) { + return value; + } + } + return null; + } + public static ChangeTypeEnum getChangeType(final Change change) { if (change.getBeforeRevision() == null) { return ADD; diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/HistoryCacheManager.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/HistoryCacheManager.java index 464d540a5ea2..91de0255fbf5 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/HistoryCacheManager.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/HistoryCacheManager.java @@ -95,6 +95,10 @@ public class HistoryCacheManager { return myDbUtil.getFirstRevision(vcs, location2string(location)); } + public PathState getPathState(final AbstractVcs vcs, final RepositoryLocation location, final String path) throws VcsException { + return myDbUtil.getPathState(vcs, location, path); + } + private class AppendChanges extends Task.Backgroundable { private final List myLists; private final String myRoot; diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/PathState.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/PathState.java new file mode 100644 index 000000000000..59709b67a751 --- /dev/null +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/PathState.java @@ -0,0 +1,40 @@ +/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.openapi.vcs.changes.dbCommitted; + +/** + * Created with IntelliJ IDEA. + * User: Irina.Chernushina + * Date: 10/11/12 + * Time: 5:56 PM + */ +public class PathState { + private final long myLastRevision; + private final boolean myExistsInLastRevision; + + public PathState(long lastRevision, boolean existsInLastRevision) { + myLastRevision = lastRevision; + myExistsInLastRevision = existsInLastRevision; + } + + public long getLastRevision() { + return myLastRevision; + } + + public boolean isExistsInLastRevision() { + return myExistsInLastRevision; + } +} diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/SqliteTables.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/SqliteTables.java index 5c4ea54c2327..e85ad5917d03 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/SqliteTables.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/SqliteTables.java @@ -45,6 +45,8 @@ public interface SqliteTables { String PREPARED_INSERT_PATH = "PREPARED_INSERT_PATH"; String PREPARED_INSERT_PATH_2_REVS = "PREPARED_INSERT_PATH_2_REVS"; String PREPARED_SELECT_REVISIONS = "PREPARED_SELECT_REVISIONS"; + String PREPARED_SELECT_PATH_DATA = "PREPARED_SELECT_PATH_DATA"; + String PREPARED_PATHS_2_REVS = "PREPARED_PATHS_2_REVS"; abstract class BaseTable { public final String ID; diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/VcsSqliteLayer.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/VcsSqliteLayer.java index b50bd0a3505c..cc9cb77f3294 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/VcsSqliteLayer.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/dbCommitted/VcsSqliteLayer.java @@ -12,6 +12,12 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. + * TODO quotations! + * TODO quotations! + * TODO quotations! + * TODO quotations! + * TODO quotations! + * TODO quotations! */ package com.intellij.openapi.vcs.changes.dbCommitted; @@ -567,4 +573,70 @@ public class VcsSqliteLayer { } return result; } + + public PathState getPathState(final AbstractVcs vcs, final RepositoryLocation location, final String path) throws VcsException { + final String normalizedPath = FileUtil.toSystemIndependentName(path); + final String normalizedLocation = FileUtil.toSystemIndependentName(location.toPresentableString()); + if (! myKnownRepositoryLocations.exists(vcs.getName(), normalizedLocation)) return null; + + final PreparedStatement maxStatement = myConnection.getOrCreatePreparedStatement(SqliteTables.PREPARED_SELECT_PATH_DATA, + new ThrowableConvertor() { + @Override + public PreparedStatement convert(Connection connection) throws SQLException { + return connection.prepareStatement("SELECT MAX(R." + SqliteTables.REVISION.NUMBER_INT + ") MAX, MAX(P."+ SqliteTables.PATHS.ID + + ") PATH_ID FROM " + SqliteTables.PATHS_2_REVS.TABLE_NAME + " PR INNER JOIN " + + SqliteTables.REVISION.TABLE_NAME + " R, " + SqliteTables.PATHS.TABLE_NAME + " P ON PR." + SqliteTables.PATHS_2_REVS.REVISION_FK + "=R." + + SqliteTables.REVISION.ID + " AND PR." + SqliteTables.PATHS_2_REVS.PATH_FK + "=P." + SqliteTables.PATHS.ID + + " WHERE P." + SqliteTables.PATHS.PATH + "=? AND R." + SqliteTables.REVISION.ROOT_FK + "=?"); + } + }); + + try { + maxStatement.setString(1, normalizedPath); + final long locationId = myKnownRepositoryLocations.getLocationId(vcs.getName(), normalizedLocation); + maxStatement.setLong(2, locationId); + final long pathId[] = new long[1]; + final long maxRev[] = new long[1]; + maxRev[0] = -1; + final ResultSet set = maxStatement.executeQuery(); + SqliteUtil.readSelectResults(set, new ThrowableRunnable() { + @Override + public void run() throws SQLException { + maxRev[0] = set.getLong("MAX"); + pathId[0] = set.getLong("PATH_ID"); + } + }); + + if (maxRev[0] == -1) return null; + + final PreparedStatement lastChangeType = myConnection.getOrCreatePreparedStatement(SqliteTables.PREPARED_PATHS_2_REVS, + new ThrowableConvertor() { + @Override + public PreparedStatement convert(Connection connection) throws SQLException { + return connection.prepareStatement("SELECT PR." + SqliteTables.PATHS_2_REVS.TYPE + " FROM " + SqliteTables.PATHS_2_REVS.TABLE_NAME + + " PR INNER JOIN " + SqliteTables.REVISION.TABLE_NAME + " R ON PR." + SqliteTables.PATHS_2_REVS.REVISION_FK + "=R." + + SqliteTables.REVISION.ID + " WHERE R." + SqliteTables.REVISION.NUMBER_INT + "=? AND PR." + SqliteTables.PATHS_2_REVS.PATH_FK + + "=?"); + } + }); + lastChangeType.setLong(1, maxRev[0]); + lastChangeType.setLong(2, pathId[0]); + final ResultSet typeSet = lastChangeType.executeQuery(); + final long[] type = new long[1]; + type[0] = -100; + SqliteUtil.readSelectResults(typeSet, new ThrowableRunnable() { + @Override + public void run() throws SQLException { + type[0] = typeSet.getLong(1); + } + }); + if (type[0] == -100) return null; + final ChangeTypeEnum changeType = ChangeTypeEnum.getChangeType(type[0]); + if (changeType == null) return null; + return new PathState(maxRev[0], ! ChangeTypeEnum.DELETE.equals(changeType)); + } + catch (SQLException e) { + throw new VcsException(e); + } + } }