-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPlan
More file actions
101 lines (68 loc) · 2.81 KB
/
Copy pathPlan
File metadata and controls
101 lines (68 loc) · 2.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
Det drar ihop sig:
Kommentera!
Loggar?
Kolla igenom!
Saker att göra:
Preferenser:
- Byta färger (ev)
- Ljudinställningar
Ljud:
- När någon säger ens namn borde det pinga till m.m.
Loggar (option att sätta på)
Stöd för slashkommandon:
- All of them (eller?) (startat)
Arv för popups
Göra länkar klickbara
AUTH
Moore:
1. En lista med alla tillgänliga "rooms" som uppdateras dynamiskt och informerar om invate krävs.
2. Smileys
3. Instruktioner för förstagångs användare.
4. Möjlighet att få en egna inlägg i annan färg.
5. Basic html-taggar för att kunna styla sin text.
Hmmmm:
Thread.join()
Fixa en bättre stop() för trådarna.
Hmm, user-listorna i room.
Observer + Observable...
Klart:
Stöd för ctrl/cmd+c-v
Listener-saker:
+v, +o
Mer än en server samtidigt
Privatchattar med personer
Preferenser:
- Förinställd connection med nick och rum som ska öppnas
Fixa till sortering av users
Timestamps (med option att stänga av)
Tab-completion av namn (enkel version)
---------------------------------------------------------------------------------------------------
Klasstruktur:
Uppdatering - stöd för fler servrar
Akselirc
Main-klass
Connection (separat tråd)
Startar en connection mot en server, skapar en listener och en talker kopplade till den servern
GUI
Hanterar dom yttre delarna av ui't. Menubar, Servertabbar. Gör fortfarande lite mer än den ska. Tanken är den enbart ska
hantera design, men det har blivit så att den hanterar lite logik också. Arbetar på att separera dom.
Server
Hanterar mellanskiktet av ui't. Rumtabbar.
Room
Hanterar den inre delen av ui't. Text som visas upp, text skickas genom rätt talker till servern.
Listener (separat tråd)
Lyssnar på den servern den är kopplad till. Hanterar all text servern skickar, ser till att rätt saker händer.
Talker
Pratar med den servern den är kopplad till. Hanterar text som klienten skickar.
***Popup
Diverse popups för till exempel nytt rum eller connection.
ButtonTabComponent
"Lånad" klass som ser till att det finns ett x på tabbar så att det är lätt att stänga dom..
-----------------------------------------------------------------------------------------------------
Jag vill göra en IRC-klient med GUI i swing.
Vad det gäller uppdelning så följer jag mest klasstrukturen GUI Room Connection Listener Talker.
Mitt första mål är ha ett GUI som kommer fungera bra för det jag vill göra. Tabbbar för varje rum.
I varje rum ett fält där man skriver, en textruta för all text som kommer från servern och en lista
på sidan med alla användare i kanalen.
Kommer behöva lära mig java swing, att arbeta med sockets, irc-protokollet, formatera text. Få
djupare förståelse för klassuppdelning och användning. Kanske trådar också.