Sendungsliste - Navigation

ds10
Site Admin
Beiträge: 19101
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Sendungsliste - Navigation

Beitrag von ds10 »

Verfolge doch einfach nach, wohin dich mMangePanel.selectFilter(filter); führt. Genau so machst du das dann auch für die Senderauswahl.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Sheldon2012
Plugin-Developer
Beiträge: 1206
Registriert: 25 Dez 2012, 07:35

Re: Sendungsliste - Navigation

Beitrag von Sheldon2012 »

Also ich hab ejetzt im FavoritesPlugin

Code: Alles auswählen


      @Override
      public void scrolledToChannel(Channel channel) {
    	if(mMangePanel != null && reactOnFilterChange()) { 
    		mMangePanel.setSelectedChannel(channel);
     	}
      }

und im ManageFavoritesPanel

Code: Alles auswählen


  public void setSelectedChannel(Channel channel) {
	mProgramListPanel.setSelectedChannel(channel);
  }

aber es funktioniert immer noch nicht. Was mache ich falsch?
ds10
Site Admin
Beiträge: 19101
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Sendungsliste - Navigation

Beitrag von ds10 »

Rufst du denn in FilterableProgramListPanel.setSelectedChannel(channel); auch JComboBox.setSelectedItem(Channel) auf? Ob der Aufruf eines Senders in der Liste auch wirklich in FilterableProgramListPanel.setSelectedChannel(channel); ankommt, kannst du mit einem simplen System.out.println("setSelectedChannel called") testen.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Sheldon2012
Plugin-Developer
Beiträge: 1206
Registriert: 25 Dez 2012, 07:35

Re: Sendungsliste - Navigation

Beitrag von Sheldon2012 »

Ich hab emal die Bedingung reactOnFilterChange() weggelassen. Jetzt klappt es.
Wie hast Du denn in der Sendungsliste die Sendericons in Combobox geladen?
ds10
Site Admin
Beiträge: 19101
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Sendungsliste - Navigation

Beitrag von ds10 »

Siehe Sendungsliste ProgramListPanel.java Zeile 168 und 698-709.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Sheldon2012
Plugin-Developer
Beiträge: 1206
Registriert: 25 Dez 2012, 07:35

Re: Sendungsliste - Navigation

Beitrag von Sheldon2012 »

Yep! Super klappt!

Dann habe ich der Senderbox noch einen reset-Button gestiftet, damit ich wieder auf "Alle Sender" zurück komme.
Das ist doch wirklich ein schönes Feature. Ich verstehe gar nicht, warum Du das nicht allen anbieten möchtest.
Aber das ist natürlich Deine Enscheidung. Aber so erfüllt die Senderliste in den Lieblingssendungen einen Zweck.

VIELEN DANK FÜR DEINE HILFE !!! :D
Sheldon2012
Plugin-Developer
Beiträge: 1206
Registriert: 25 Dez 2012, 07:35

Re: Sendungsliste - Navigation

Beitrag von Sheldon2012 »

Ach ja! Wo finde ich eigentlich das Property-File?
ds10
Site Admin
Beiträge: 19101
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Sendungsliste - Navigation

Beitrag von ds10 »

Property wofür?
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Sheldon2012
Plugin-Developer
Beiträge: 1206
Registriert: 25 Dez 2012, 07:35

Re: Sendungsliste - Navigation

Beitrag von Sheldon2012 »

Für den Label "Senderfilter:" der Combobox Senderfilter. Zudem habe ich noch ein paar reset-Buttons eingeführt.
Die Tooltips bzw Label könnten da auch hinterlegt werden. Derzeit habe ich dafür Klassenfelder verwendet.

Falls Du es Dir mit der Implmentierung doch noch anders überlegen solltest, schicke ich dir gerne meine Version.
Ich finde das so wirklich sehr praktisch.
ds10
Site Admin
Beiträge: 19101
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Sendungsliste - Navigation

Beitrag von ds10 »

Das ist die ui.properties im util.ui-Verzeichnis.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Sheldon2012
Plugin-Developer
Beiträge: 1206
Registriert: 25 Dez 2012, 07:35

Re: Sendungsliste - Navigation

Beitrag von Sheldon2012 »

Danke! Dann mache ich das noch ordentlich! :)
Sheldon2012
Plugin-Developer
Beiträge: 1206
Registriert: 25 Dez 2012, 07:35

Re: Sendungsliste - Navigation

Beitrag von Sheldon2012 »

Hallo,

ich habe noch ein wenig gebastelt und die Combo-Boxen mal editierbar und vorselektierbar gemacht.
Wenn ich nun z. B. in der Senderfilter-Box "z" eingebe, wird die Combo-Box nur mit Einträgen gefüllt, die mit "z" beginnen
Für die Sender.und Sendungsfilter klappt das prima. Dort habe ich Arrays wie Channel[] oder Programfilter[] über die ich iterieren kann.

Nur bei den Sendungstitelfiltern habe ich noch ein Problem. Wie kann ich den Inhalt dieser Combobox in ein entsprechendes
Array schreiben? Hast Du da einen Tipp für mich?

Gruß

Sheldon
ds10
Site Admin
Beiträge: 19101
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Sendungsliste - Navigation

Beitrag von ds10 »

Der Sendungstitelfilter wird ja immer nach dem Filtern neu erstellt, dort gibt es eine ArrayList, die alle Sendungstitelfilter enthält (titleFilterValues in Zeile 333 im Originalcode). Die kannst du auch zur Klassenvariable machen, die Einträge der Liste sind alle vom Typ SimpleTitleFilter, mit Ausnahme des Alles-Filters.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Sheldon2012
Plugin-Developer
Beiträge: 1206
Registriert: 25 Dez 2012, 07:35

Re: Sendungsliste - Navigation

Beitrag von Sheldon2012 »

Das habe ich jetzt mal probiert, aber irgenwie funktioniert der Vergleich nicht.
Siehst Du, was ich falsch mache?

Die auskommentierten Abschnitte sind die Alternative, die zum jeweiligen Index in der Box springt.
Das geht bei mir nur in dieser Box, weil die als einzige alphabetisch sortiert sein soll.

Code: Alles auswählen

      mTitleFilterBox.getEditor().getEditorComponent().addKeyListener(new KeyAdapter() {
          @Override
          public void keyReleased(KeyEvent e) {
       	     if (e.getKeyCode() != 38 && e.getKeyCode() != 40 && e.getKeyCode() != 10) {
                String a = mTitleFilterBox.getEditor().getItem().toString();
                int st = 0;
             
                /*
                List<String> titleFilters = new ArrayList<String>();
                for (int i = 0; i < mTitleFilterBox.getItemCount(); i++) {
                   titleFilters.add(mTitleFilterBox.getItemAt(i).toString());	
                } 
                */            
                
                mTitleFilterBox.removeAllItems();              
                for (int i = 0; i < titleFilterValues.toArray().length; i++) {
                    if (titleFilterValues.get(i).getName().toUpperCase().startsWith(a.toUpperCase())) {
                        mTitleFilterBox.addItem(titleFilterValues.get(i));
                        st++; 
                    }
                }
                
                /*
                for (int i = 0; i < titleFilters.toArray().length; i++) {
                   if (titleFilters.toArray()[i].toString().toUpperCase().startsWith(a.toUpperCase())) {
                      mTitleFilterBox.setSelectedIndex(i);	
                      st++;  
                      break;
                   }
                }
                */
             
                mTitleFilterBox.getEditor().setItem(new String(a));
                mTitleFilterBox.hidePopup();
                if (st != 0) {
            	   mTitleFilterBox.showPopup();
                }

             }
          }
      });

ds10
Site Admin
Beiträge: 19101
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Sendungsliste - Navigation

Beitrag von ds10 »

Das ist recht unleserlicher Code, als erstes solltest du es dir einfacher machen.
Eine Liste kann man sehr einfach komplett durchsuchen, ohne dort mit toArray() zu arbeiten und zwar folgendermaßen:

Code: Alles auswählen

ArrayList<String> list = new ArrayList<String>();

list.add("A");
list.add("B");
list.add("C");

for(String listEntry : list) {
  // do something with listEntry
}
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Antworten