List of commits:
Subject Hash Author Date (UTC)
fetching is ready 0d01c38238a2ea7e39bc671de1997294231d8549 Alex 2022-07-11 06:37:06
read feeds from feeds.json U¾ivatel asi bude chtit mít své fidy u sebe de14a1e9f5a99f79e44985073df04e89bae2c116 Alex 2022-07-11 01:26:52
prepare default feeds d2b45f0007c30da84662b8b2a1f2118d03e30e1f Alex 2022-07-11 01:25:58
prepare Lock&Unlock f76041ef4fa2b6d5301afb34bda5de13f8ff2701 Alex 2022-07-10 00:37:38
prepare downloading routines f12d337da75c3cefe4ef0ccb3f08472e7701b058 Alex 2022-07-09 23:52:36
move default feeds to feeds.hws 6efc0f7c1767a2feba618938c8f83eab43f93b0e Alex 2022-07-09 14:16:44
set up EmptyNodes attribute 41e19a0974fbf63f959fe7e3135d2efb9cb48ce6 Alex 2022-07-09 11:44:03
disable icon menu 540099f84a9d1a567dd079ca8ba5ac667ec8945f Alex 2022-07-08 23:37:47
implement tree manipulation commands dfa3a877079a75d7c5a724bb9c6e84a6db1d4677 Alex 2022-07-08 21:07:10
implement coping to clipboard 380b60dad4bd182a92199db5cde4339baaa84521 Alex 2022-07-08 20:35:05
prepare context menus eb75fc61825de235f63b47176ca9ec88f8966d2b Alex 2022-07-08 15:01:46
add cycle chains b0d80feff1cfb953d50a79e7773077a846cc72c2 Alex 2022-07-08 12:25:15
prepare layout 46613958a1e87944104f74aa77ebb106dc22a2ad Alex 2022-07-07 23:36:19
implement Load/Save feeds' tree ce6ded536ef07a49e96f181c07c84c1239ef607d Alex 2022-07-05 23:10:44
implement feed tree filling dad148576a106072f87be33803e7a916cb044d35 Alex 2022-07-05 17:09:20
implement item selection b42586a38c98a4087937b8f85f7dd2570cb61bf7 Alex 2022-06-19 02:42:29
show items list ee6686fc57690fc236aefc334861dbf0fd65b2ce Alex 2022-06-19 01:42:38
parse channel title and description 96ec5e38931158d27a75c0fe922fd14a8647dba1 Alex 2022-06-18 23:53:49
add XML parser... 4f2d6297a47fe2f9f377bf9ce5afd9545cf9ae2f Alex 2022-06-18 14:29:17
prepare textfield b88f2e78f55a4ba7e62f674bcdf38615f3d3eb09 Alex 2022-06-18 02:35:37
Commit 0d01c38238a2ea7e39bc671de1997294231d8549 - fetching is ready
Author: Alex
Author date (UTC): 2022-07-11 06:37
Committer name: Alex
Committer date (UTC): 2022-07-11 06:37
Parent(s): de14a1e9f5a99f79e44985073df04e89bae2c116
Signer:
Signing key:
Signing status: N
Tree: d1905c07ff8c5ab61ed70bb279fa04ab1dd3be6f
File Lines added Lines deleted
IvoRSS.hws 22 7
feedtree.hws 55 8
File IvoRSS.hws changed (mode: 100755) (index 4c0cfe6..959cdd4)
21 21 @BRUSH 1, "128px-Feed-icon.png", {LoadAlpha=True, ScaleHeight=32, ScaleWidth=32} @BRUSH 1, "128px-Feed-icon.png", {LoadAlpha=True, ScaleHeight=32, ScaleWidth=32}
22 22 ChannelIconBrush = 1 ChannelIconBrush = 1
23 23
24 PleaseStop = False
24 PleaseStop = True
25 25
26 26
27 27
 
... ... Function p_MUIEvent(msg)
79 79 Case "fdtm_expand": Case "fdtm_expand":
80 80 p_ExpandFeeds() p_ExpandFeeds()
81 81
82 Case "menu_fetchall":
83 FallThrough
84 Case "fdtm_fetchall":
85 p_FetchAll()
86
87 Case "fdtm_fetch":
88 p_FetchCurrent()
89
90
82 91
83 92 EndSwitch EndSwitch
84 93 Case "Listview": Case "Listview":
 
... ... Function p_MUIEvent(msg)
87 96 Local chosen_item = items_list[msg.TriggerValue] Local chosen_item = items_list[msg.TriggerValue]
88 97 mui.Set("item_title", "Contents", chosen_item.title) mui.Set("item_title", "Contents", chosen_item.title)
89 98 mui.Set("textfield", "Text", chosen_item.description) mui.Set("textfield", "Text", chosen_item.description)
90 ;Switch msg.ID
91 ;Case "CloseRequest":
92 ; End
93 ;EndSwitch
99
100 Case "Button":
101 Switch msg.ID
102 Case "fetchbtn":
103 p_FetchCurrent()
104 Case "fetchallbtn":
105 p_FetchAll()
106 Case "stopbtn":
107 p_Unlock()
108
109 EndSwitch
94 110 EndSwitch EndSwitch
95 111 EndFunction EndFunction
96 112
 
... ... EndFunction
147 163
148 164 Function p_Replay(err_code, msg$) Function p_Replay(err_code, msg$)
149 165 mui.Set("status", "Contents", mui.Set("status", "Contents",
150 IIf(err_code = #ERR_NONE, msg$, "\27b" .. GetErrorName(err_code))
151 )
166 IIf(err_code = #ERR_NONE, msg$, "\27b" .. GetErrorName(err_code)))
152 167 EndFunction EndFunction
153 168
154 169
File feedtree.hws changed (mode: 100755) (index 974ac45..672f3db)
... ... Function p_FillListTree(listtree$, treetable)
9 9
10 10 For _i, t In IPairs(treetable) For _i, t In IPairs(treetable)
11 11 mui.DoMethod(listtree$, "Insert", mui.DoMethod(listtree$, "Insert",
12 t.name, t.id, t.parent, "Tail", IIf(t.isNode, "List", ""))
12 t.name, t.id, t.parent, "Tail", IIf(t.isNode, "List", ""))
13 ;č pro jednotlivé položky nelze zadat kontextové menu
14 ;mui.Set(t.id, "ContextMenu ", "channeltitlemenu")
13 15 Next Next
14 16 mui.Set(listtree$, "Quiet", False) mui.Set(listtree$, "Quiet", False)
15 17 EndFunction EndFunction
 
... ... Function p_DumpListTree(listtree$, tabletree, nodeid, muiid)
33 35 EndFunction EndFunction
34 36
35 37
38
39
40 Function p_FetchAll()
41 p_Lock()
42 p_FetchGroup("Root")
43 p_Unlock()
44 EndFunction
45
46 ;č zjistit co je Node zač,
47 ;č podle toho postupovat
48 Function p_FetchCurrent()
49 p_Lock()
50 Local isFound, t = mui.DoMethod(#LIST_TREE, "GetEntry", "Active", "Active", "")
51 If isFound And Not PleaseStop
52 If t.Node
53 p_FetchGroup(t.muiid)
54 Else
55 p_FetchFeed(t.id)
56 EndIf
57 EndIf
58 p_Unlock()
59 EndFunction
60
61
62 ;č zjistit co je Node zač,
63 ;č podle toho postupovat
64 ;č musí být rekurzivní
65 Function p_FetchGroup(muiid$)
66 Local isFound, t = mui.DoMethod(#LIST_TREE, "GetEntry", muiid$, "Head", "")
67 While isFound And Not PleaseStop
68 If t.Node
69 p_FetchGroup(t.muiid)
70 Else
71 p_FetchFeed(t.id)
72 EndIf
73 isFound, t = mui.DoMethod(#LIST_TREE, "GetEntry", t.muiid, "Next", "")
74 Wend
75 EndFunction
76
77
36 78 ;č stáhnout soubor, spočítat hešy, ;č stáhnout soubor, spočítat hešy,
37 79 ;č označit buď jako nové, nebo jako přečtené ;č označit buď jako nové, nebo jako přečtené
38 80 ;č smí se posílat JENOM fidy, nikoliv skupiny ;č smí se posílat JENOM fidy, nikoliv skupiny
39 Function p_FetchFeed(feedid$, feedsdata)
81 Function p_FetchFeed(feedid$)
40 82 If HaveItem(feedsdata, feedid$) If HaveItem(feedsdata, feedid$)
41 83 ;č Pokud záznam existuje, MUSÍ mít MD5Sum a Name atributy ;č Pokud záznam existuje, MUSÍ mít MD5Sum a Name atributy
42 84 Local t = feedsdata[feedid$] Local t = feedsdata[feedid$]
43 current_item.category = str$
85 If err_code = #ERR_NONE
86 mui.DoMethod(#LIST_TREE, "Rename", feedid$, "\27".."5\27b" .. feedid$)
87 Else
88 mui.DoMethod(#LIST_TREE, "Rename", feedid$, "\27i" .. feedid$)
89 EndIf
44 90 Else Else
45 p_Download(feedid$, "Feeds/" .. p_GetFileID(feedid$) .. ".xml")
91 Local err_code = p_Download(feedid$,
92 "Feeds/"..p_GetFileID(feedid$)..".xml")
93 ;č zde je to jednoduchý, stahování je bud úspěšné, nebo neúspěšné
94 mui.DoMethod(#LIST_TREE, "Rename", feedid$,
95 IIf(err_code = #ERR_NONE, "\27".."5\27b", "\27i") .. feedid$)
96
46 97 EndIf EndIf
47 ;p_DumpListTree(listtree$, cFeeds, "Root", "Root")
48 ;Return(cFeeds)
49 ;mui.DoMethod(#LIST_TREE, "Rename", treenode$, newname$)
50 ;CheckEvents()
51 98 EndFunction EndFunction
52 99
53 100
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/iam-git/IvoRSS

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/iam-git/IvoRSS

Clone this repository using git:
git clone git://git.rocketgit.com/user/iam-git/IvoRSS

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main