FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

finished merge · unexCoder/processing@6a8f25f · GitHub

Repository navigation

Commit 6a8f25f

Browse files
committed
finished merge
2 parents 7ee23cf + 9c04369 commit 6a8f25f

1 file changed

Lines changed: 31 additions & 3 deletions

File tree

‎app/src/processing/app/contrib/ContributionTab.java‎

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
package processing.app.contrib;
2424

2525
import java.awt.Color;
26+
import java.awt.Cursor;
2627
import java.awt.Dimension;
2728
import java.awt.Font;
2829
import java.awt.event.*;
@@ -342,8 +343,9 @@ protected void setFilterText(String filter) {
342343
}
343344

344345

345-
//TODO: this is causing a lot of bugs as the hint is wrongly firing applyFilter()
346346
class FilterField extends JTextField {
347+
Icon searchIcon;
348+
JButton removeFilter;
347349
List<String> filters;
348350
JLabel filterLabel;
349351

@@ -355,18 +357,41 @@ public FilterField () {
355357
filterLabel.setOpaque(false);
356358

357359
setFont(Toolkit.getSansFont(14, Font.PLAIN));
358-
filterLabel.setIcon(Toolkit.getLibIconX("manager/search"));
360+
searchIcon = Toolkit.getLibIconX("manager/search");
361+
filterLabel.setIcon(searchIcon);
362+
removeFilter = new JButton(Toolkit.getLibIconX("manager/remove"));
363+
removeFilter.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 2));
364+
removeFilter.setBorderPainted(false);
365+
removeFilter.setContentAreaFilled(false);
366+
removeFilter.setCursor(Cursor.getDefaultCursor());
367+
removeFilter.addActionListener(new ActionListener() {
368+
@Override
369+
public void actionPerformed(ActionEvent e) {
370+
setText("");
371+
filterField.requestFocusInWindow();
372+
}
373+
});
374+
//searchIcon = new ImageIcon(java.awt.Toolkit.getDefaultToolkit().getImage("NSImage://NSComputerTemplate"));
359375
setOpaque(false);
360376

361377
GroupLayout fl = new GroupLayout(this);
362378
setLayout(fl);
363-
fl.setHorizontalGroup(fl.createSequentialGroup().addComponent(filterLabel));
379+
fl.setHorizontalGroup(fl
380+
.createSequentialGroup()
381+
.addComponent(filterLabel)
382+
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED,
383+
GroupLayout.PREFERRED_SIZE, Short.MAX_VALUE)
384+
.addComponent(removeFilter));
385+
364386
fl.setVerticalGroup(fl.createSequentialGroup()
365387
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED,
366388
GroupLayout.PREFERRED_SIZE, Short.MAX_VALUE)
389+
.addGroup(fl.createParallelGroup()
367390
.addComponent(filterLabel)
391+
.addComponent(removeFilter))
368392
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED,
369393
GroupLayout.PREFERRED_SIZE, Short.MAX_VALUE));
394+
removeFilter.setVisible(false);
370395

371396
filters = new ArrayList<String>();
372397

@@ -384,14 +409,17 @@ public void focusGained(FocusEvent focusEvent) {
384409

385410
getDocument().addDocumentListener(new DocumentListener() {
386411
public void removeUpdate(DocumentEvent e) {
412+
removeFilter.setVisible(!getText().isEmpty());
387413
applyFilter();
388414
}
389415

390416
public void insertUpdate(DocumentEvent e) {
417+
removeFilter.setVisible(!getText().isEmpty());
391418
applyFilter();
392419
}
393420

394421
public void changedUpdate(DocumentEvent e) {
422+
removeFilter.setVisible(!getText().isEmpty());
395423
applyFilter();
396424
}
397425
});

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL