From 2a4083c7299761cad856c0da9db7b5ef7233f02f Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Thu, 24 Jan 2013 18:54:20 +0100 Subject: [PATCH 1/3] retina/darcula icons --- platform/icons/src/diff/rightDiff.png | Bin 473 -> 480 bytes platform/icons/src/diff/rightDiff@2x.png | Bin 0 -> 947 bytes platform/icons/src/diff/rightDiff@2x_dark.png | Bin 0 -> 949 bytes platform/icons/src/diff/rightDiff_dark.png | Bin 447 -> 477 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 platform/icons/src/diff/rightDiff@2x.png create mode 100644 platform/icons/src/diff/rightDiff@2x_dark.png diff --git a/platform/icons/src/diff/rightDiff.png b/platform/icons/src/diff/rightDiff.png index 246e9ec762712fca2280693f38295676e7a619b8..5ccecc202eadab392e043f2c747c5edc5baf107e 100644 GIT binary patch delta 417 zcmV;S0bc&u1KS#L_t(|+T2sUP69y?p4naC5PSxoz$egHU}=nrA$B&#k|&_& z1++ChfQ1DQKt-Um)Y^pb0C3*j?#`|=gySb-L+O`HX6Ku4CUdj57-Iy%>C?s10|F?e zPqZ=5+UOP{HedzTrsQcz-giQvFW^#BCTZ1(i@_vGzus)LDt}205EYvgi-m^Ei|cHW zHi|5}+hgz8a!kQ_H9Ukj|0n)L)sRKe&m8WRa4IPzevjYVFJ@+@nzA4@E}kZ3a4-55 zAL;IwE;w2@!17;Nop;24alKw|a|?&!A2cvq%R2~IJ{spk@gu+hj4JTWT0Mxm00000 LNkvXXu0mjfoN&gu delta 410 zcmV;L0cHN+1K9(RNq>7uL_t(|+T2q+P6IIzow3bkL&6z20Ve=agc>2CzyS~?CrF4_uf2NUN6QNfot#juULdadI z)QwcKfrvGj7I`!8e9t>~6@q^O8dWpVPlIR}RGN0G^;%;qt$zTbAn-6F)NG-T^GR0I zd45D8AZ7v1`4W-bs+t}Uczxo6L*pEB=RNa;efF_`aRTqlF6mrRibOjL#dy*+pE<-3 z0R=*`UG1hjb=E6^d^|Hh0TBr(IY6bN#|YLtFvdh(=zfvsb?O7&GtWBv$ln)>I|xQp zWK&et$YTJq0e@EH5EIdi7$@9mKVqJB@(oM>Jir>TTE97~o8D=|p!FGX?}W9QwAMne z*Mlc~hTt6Cw0{K*9~Ahg$Jv9)a^me;4O^{Ngr(}F_jpm9{@`xq9bWqL6<@G^HQ@Ux z@e?UKEUj0#cDud!3Y*qH2vEOh@h=?Ce&t<8 diff --git a/platform/icons/src/diff/rightDiff@2x.png b/platform/icons/src/diff/rightDiff@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0d3506bc7dd63c00601795be617bfa0c3e5481ca GIT binary patch literal 947 zcmV;k15EshP)w0yNj3)}NCv)}y`A^oeD9k#@6O7yjPi_ui9?OYUBC!%Z0Xrs#w7wi122Gy znbGO5-Hfcf1p4nBB+If+TS7dvZQB#l#&-d9x96}~rb(-m(liY-tn}F|a6_7pUFOXJieIZTMN6br_x5{Nj!WOS_WM_nJ zzcZP-4#(KuGXV>dXV44Tkp_V{tbVMOE0o3wnL284FsEXf8bQ|Y-9kVhK^ebyZ0ebS zMgYiaHcFz1!i7buEtXA{cNQ`e;2KdNOPIL^8ZmO;f}OVqCox^(XRjDg-?lB}V&;MD zsr>yX#g(w3{sUlW$<_FAZMww*{5BJ-VEiiV_k$wLOXL2sMJOD5MEY)ti%z%_5^Bh= z3{c;^&Swg^b9la1KZC64$7^iEwoO08;8+|JHnUj2zG5HPbMI)saO7K@VZnAJu40{U zmLh1PxE4a4sKKZlmXfe$)>tKAHNOh{_RU>>URv=Q!eCao;s#*YYh!j3R zyjU$o3n8VE>Us@rPm;H>K<~rKr;%^j5ZaTey8RSO!3`|qV(f;~Gj%)e*$J@F zW;WS~x8@(CzcplMrmY3LmO#k7Cj$Rmfpr4w1l9?x6Og@jzW+vn-2VsuTLQlY7y!Jv V+*sFduqgll002ovPDHLkV1j-axYGat literal 0 HcmV?d00001 diff --git a/platform/icons/src/diff/rightDiff@2x_dark.png b/platform/icons/src/diff/rightDiff@2x_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..13f68a471755454048a17a361cd92b77e06866c9 GIT binary patch literal 949 zcmV;m14{gfP)5+CG5M zgFUvC@7=(6y&xdzx&$D^2$q8|F7bndNyRZm)hfl+T9_)eZ)Rj_u31-7&SBa1Ew5N~ z3tgS$cpfnWf=^z90u6DLPttSA5_X|lF5kq?#bz~;7XX|b^EwLT1RhyZP)6Bon&|_n zPJM{AOnmJ1LuZb4W#ALrg0!nA?_^Jmly6JYuND~>#%Oa4nEiy`-IL6_OGnj2lhNXyjM8#4eqdDI})Y1 zfHzCwG*O%jp-xm^R1Ql?STlRf5@bEQ3hegJo_}6ivkajyBV2J6V$f?up&OA1mSIF# z(kg*dWh6~vj(R=2OMH0lPT2e8=%gjAvrGDn&c;+o4e)c78;f?Eco3WsDH1e z-SnwvgBxl@NmLs~1fO(<5@gY87Vj=|8FE4{RDy2wets8WZ#BENz6Cv#hkAvSuT42A z)fdlKOVO{8(nz%|L)(+&brs0%43^lH240qy=#GtzxxBHLM?XUNZ-kqJ- zSNdzVtNYvV$LMbjxjfS5gx!cEMBWyFf6l-rfK33K05$>0c01pH!$9u;1OF|6-vSH( Xf*aZ-Y*cs%00000NkvXXu0mjf{w}*_ literal 0 HcmV?d00001 diff --git a/platform/icons/src/diff/rightDiff_dark.png b/platform/icons/src/diff/rightDiff_dark.png index 6d903ecc1c6ffce601d96999be3c8aba59aa39ab..e15bf57aac259296e97778b7370a4678501ce442 100644 GIT binary patch delta 414 zcmV;P0b%~X1Kk6VNq>JyL_t(|+T2q;P6AO7o_X&9yMm>SjVJH~8VjtA4c>u*#KHp* z4q%}cP%r4coQN|NWaR;`zk3V$F9N^a&1Rh#RpY&Ngz zEW0EV5QTwrevy&XDoxHQ`F!nyL*pEB9}V#0Rd%Da)?Srj}feQV2p`6*MmIEYE*}OXPkM~k$xc7I|xQp zWJ9EC;xPcp0DmiTgk{l)7-wARK4F}B(v4WJdcEF{fi+;Y7|TR8u!OIRy;yx?wf=D0 z&_3c$ZncBp4466X0sSyU+hWX2vo|x(A=0x3Z+CLo?RFz0Ea03sRd(!kL8q5uE@07*qo IM6N<$g4i;|xBvhE delta 383 zcmV-_0f7G91HS{1Nq=EUL_t(|+T2q+P6IIzow3b+*l-3;zzIMUp++>}4kDXBOCCOMo-A9&loD{A+@5zG5I_idES0*GO7;=4 zf@P7n2|m=p`d_1#00TCG}IYFgTzyvOMu+}Einx|Il9`y%Q2RIAPn0N2YAb4XLw7w?pgRoVT&N-;-8lLe5qW5&u z;SDf;QsASRHxIVa#JjB;jz*&dKMVQEf8&P3A$HFW+Y6W2$?Xc*tNuZN+M%U=I9z?_ dzt*<^0|40d{8X{Wn(Y7p002ovPDHLkV1jC?wk!Yu From 5bc6f013d593a63b136c91cc990736830df66145 Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 24 Jan 2013 20:36:18 +0100 Subject: [PATCH 2/3] no passingObjectToItself heuristic in basic completion --- .../codeInsight/completion/JavaCompletionSorting.java | 2 +- .../intellij/codeInsight/completion/RecursionWeigher.java | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionSorting.java b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionSorting.java index 61738b40f4d4..63d55511f488 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionSorting.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionSorting.java @@ -107,7 +107,7 @@ public class JavaCompletionSorting { final PsiReferenceExpression reference = expression != null ? expression.getMethodExpression() : PsiTreeUtil.getParentOfType(position, PsiReferenceExpression.class); if (reference == null) return null; - return new RecursionWeigher(position, reference, expression, expectedInfos); + return new RecursionWeigher(position, parameters.getCompletionType(), reference, expression, expectedInfos); } @Nullable diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/RecursionWeigher.java b/java/java-impl/src/com/intellij/codeInsight/completion/RecursionWeigher.java index 847dbd29b233..79a8b0423c64 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/RecursionWeigher.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/RecursionWeigher.java @@ -48,12 +48,15 @@ class RecursionWeigher extends LookupElementWeigher { private final PsiExpression myCallQualifier; private final PsiExpression myPositionQualifier; private final boolean myDelegate; + private final CompletionType myCompletionType; public RecursionWeigher(PsiElement position, + CompletionType completionType, @NotNull PsiReferenceExpression reference, @Nullable PsiMethodCallExpression expression, ExpectedTypeInfo[] expectedInfos) { super("recursion"); + myCompletionType = completionType; myFilter = recursionFilter(position); myPosition = position; myReference = reference; @@ -121,7 +124,7 @@ class RecursionWeigher extends LookupElementWeigher { return Result.recursive; } - if (isPassingObjectToItself(object)) { + if (isPassingObjectToItself(object) && myCompletionType == CompletionType.SMART) { return Result.passingObjectToItself; } From 53a8ef1073cb0cdf50943b172a859e471414e6db Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Thu, 24 Jan 2013 20:56:44 +0100 Subject: [PATCH 3/3] IDEA-99732 Evaluate Expression combo box editor selects text each time I press Enter --- .../ui/DebuggerExpressionComboBox.java | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/DebuggerExpressionComboBox.java b/java/debugger/impl/src/com/intellij/debugger/ui/DebuggerExpressionComboBox.java index 9f9cf4a34075..b2d4f24c7aa2 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/DebuggerExpressionComboBox.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/DebuggerExpressionComboBox.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2013 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. @@ -22,9 +22,11 @@ import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.ComboBox; import com.intellij.openapi.util.Key; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.PsiElement; import com.intellij.ui.EditorComboBoxEditor; import com.intellij.ui.EditorComboBoxRenderer; +import com.intellij.ui.EditorTextField; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.Nullable; @@ -90,6 +92,7 @@ public class DebuggerExpressionComboBox extends DebuggerEditorImpl { myComboBox.setLightWeightPopupEnabled(false); myEditor = new MyEditorComboBoxEditor(getProject(), getCurrentFactory().getFileType()); + //noinspection GtkPreferredJComboBoxRenderer myComboBox.setRenderer(new EditorComboBoxRenderer(myEditor)); myComboBox.setEditable(true); @@ -98,7 +101,7 @@ public class DebuggerExpressionComboBox extends DebuggerEditorImpl { } public void selectPopupValue() { - selectAll(); + //selectAll(); final Object currentPopupValue = getCurrentPopupValue(); if (currentPopupValue != null) { myComboBox.getModel().setSelectedItem(currentPopupValue); @@ -133,7 +136,7 @@ public class DebuggerExpressionComboBox extends DebuggerEditorImpl { final String itemText = item.getText().replace('\n', ' '); restoreFactory(item); item.setText(itemText); - if (!"".equals(itemText)) { + if (!StringUtil.isEmpty(itemText)) { if (myComboBox.getItemCount() == 0 || !item.equals(myComboBox.getItemAt(0))) { myComboBox.insertItemAt(item, 0); } @@ -204,16 +207,29 @@ public class DebuggerExpressionComboBox extends DebuggerEditorImpl { } public JComponent getEditorComponent() { - return (JComponent)myEditor.getEditorComponent(); + return myEditor.getEditorComponent(); } public void addRecent(TextWithImports text) { if (text.getText().length() != 0) { - final Component editorComponent = myComboBox.getEditor().getEditorComponent(); + Component editorComponent = myComboBox.getEditor().getEditorComponent(); final boolean focusOwner = editorComponent.isFocusOwner(); + int offset = -1; + if (editorComponent instanceof EditorTextField) { + offset = ((EditorTextField)editorComponent).getCaretModel().getOffset(); + } super.addRecent(text); myComboBox.insertItemAt(text, 0); myComboBox.setSelectedIndex(0); + editorComponent = myComboBox.getEditor().getEditorComponent(); + if (offset != -1 && editorComponent instanceof EditorTextField) { + final EditorTextField textField = (EditorTextField)editorComponent; + textField.getCaretModel().moveToOffset(offset); + final Editor editor = textField.getEditor(); + if (editor != null) { + editor.getSelectionModel().setSelection(offset, offset); + } + } if (focusOwner) { editorComponent.requestFocus();